~james-page/ubuntu/saucy/openvswitch/1.12-snapshot

« back to all changes in this revision

Viewing changes to acinclude.m4

  • Committer: James Page
  • Date: 2013-08-21 10:16:57 UTC
  • mfrom: (1.1.20)
  • Revision ID: james.page@canonical.com-20130821101657-3o0z0qeiv5zkwlzi
New upstream snapshot

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
# -*- autoconf -*-
2
2
 
3
 
# Copyright (c) 2008, 2009, 2010, 2011, 2012 Nicira, Inc.
 
3
# Copyright (c) 2008, 2009, 2010, 2011, 2012, 2013 Nicira, Inc.
4
4
#
5
5
# Licensed under the Apache License, Version 2.0 (the "License");
6
6
# you may not use this file except in compliance with the License.
224
224
  OVS_GREP_IFELSE([$KSRC/include/linux/netdevice.h], [dev_disable_lro])
225
225
  OVS_GREP_IFELSE([$KSRC/include/linux/netdevice.h], [dev_get_stats])
226
226
  OVS_GREP_IFELSE([$KSRC/include/linux/netdevice.h], [dev_get_by_index_rcu])
 
227
  OVS_GREP_IFELSE([$KSRC/include/linux/netdevice.h], [__skb_gso_segment])
227
228
  OVS_GREP_IFELSE([$KSRC/include/linux/netdevice.h], [can_checksum_protocol])
228
229
 
229
230
  OVS_GREP_IFELSE([$KSRC/include/linux/rcupdate.h], [rcu_read_lock_held], [],
255
256
  OVS_GREP_IFELSE([$KSRC/include/linux/skbuff.h], [consume_skb])
256
257
  OVS_GREP_IFELSE([$KSRC/include/linux/skbuff.h], [skb_frag_page])
257
258
  OVS_GREP_IFELSE([$KSRC/include/linux/skbuff.h], [skb_reset_mac_len])
 
259
  OVS_GREP_IFELSE([$KSRC/include/linux/skbuff.h], [skb_unclone])
258
260
 
259
261
  OVS_GREP_IFELSE([$KSRC/include/linux/string.h], [kmemdup], [],
260
262
                  [OVS_GREP_IFELSE([$KSRC/include/linux/slab.h], [kmemdup])])
279
281
  OVS_GREP_IFELSE([$KSRC/include/linux/if_vlan.h], [ADD_ALL_VLANS_CMD],
280
282
                  [OVS_DEFINE([HAVE_VLAN_BUG_WORKAROUND])])
281
283
 
 
284
  OVS_GREP_IFELSE([$KSRC/include/linux/percpu.h], [this_cpu_ptr])
 
285
 
282
286
  OVS_GREP_IFELSE([$KSRC/include/linux/openvswitch.h], [openvswitch_handle_frame_hook],
283
287
                  [OVS_DEFINE([HAVE_RHEL_OVS_HOOK])])
284
288
 
304
308
   fi])
305
309
 
306
310
dnl Checks for net/if_dl.h.
 
311
dnl
 
312
dnl (We use this as a proxy for checking whether we're building on FreeBSD
 
313
dnl or NetBSD.)
307
314
AC_DEFUN([OVS_CHECK_IF_DL],
308
315
  [AC_CHECK_HEADER([net/if_dl.h],
309
316
                   [HAVE_IF_DL=yes],
312
319
   if test "$HAVE_IF_DL" = yes; then
313
320
      AC_DEFINE([HAVE_IF_DL], [1],
314
321
                [Define to 1 if net/if_dl.h is available.])
 
322
 
 
323
      # On these platforms we use libpcap to access network devices.
 
324
      AC_SEARCH_LIBS([pcap_open_live], [pcap])
315
325
   fi])
316
326
 
317
327
dnl Checks for buggy strtok_r.
353
363
dnl gives unlimited permission to copy and/or distribute it,
354
364
dnl with or without modifications, as long as this notice is preserved.
355
365
 
356
 
dnl OVS_CHECK_CC_OPTION([OPTION], [ACTION-IF-ACCEPTED], [ACTION-IF-REJECTED])
357
 
dnl Check whether the given C compiler OPTION is accepted.
358
 
dnl If so, execute ACTION-IF-ACCEPTED, otherwise ACTION-IF-REJECTED.
359
 
AC_DEFUN([OVS_CHECK_CC_OPTION],
360
 
[
 
366
AC_DEFUN([_OVS_CHECK_CC_OPTION], [dnl
361
367
  m4_define([ovs_cv_name], [ovs_cv_[]m4_translit([$1], [-], [_])])dnl
362
368
  AC_CACHE_CHECK([whether $CC accepts $1], [ovs_cv_name], 
363
369
    [ovs_save_CFLAGS="$CFLAGS"
364
 
     CFLAGS="$CFLAGS $1"
 
370
     dnl Include -Werror in the compiler options, because without -Werror
 
371
     dnl clang's GCC-compatible compiler driver does not return a failure
 
372
     dnl exit status even though it complains about options it does not
 
373
     dnl understand.
 
374
     CFLAGS="$CFLAGS $WERROR $1"
365
375
     AC_COMPILE_IFELSE([AC_LANG_PROGRAM(,)], [ovs_cv_name[]=yes], [ovs_cv_name[]=no])
366
376
     CFLAGS="$ovs_save_CFLAGS"])
367
377
  if test $ovs_cv_name = yes; then
371
381
  fi
372
382
])
373
383
 
 
384
dnl OVS_CHECK_WERROR
 
385
dnl
 
386
dnl Check whether the C compiler accepts -Werror.
 
387
dnl Sets $WERROR to "-Werror", if so, and otherwise to the empty string.
 
388
AC_DEFUN([OVS_CHECK_WERROR],
 
389
  [WERROR=
 
390
   _OVS_CHECK_CC_OPTION([-Werror], [WERROR=-Werror])])
 
391
 
 
392
dnl OVS_CHECK_CC_OPTION([OPTION], [ACTION-IF-ACCEPTED], [ACTION-IF-REJECTED])
 
393
dnl Check whether the given C compiler OPTION is accepted.
 
394
dnl If so, execute ACTION-IF-ACCEPTED, otherwise ACTION-IF-REJECTED.
 
395
AC_DEFUN([OVS_CHECK_CC_OPTION],
 
396
  [AC_REQUIRE([OVS_CHECK_WERROR])
 
397
   _OVS_CHECK_CC_OPTION([$1], [$2], [$3])])
 
398
 
374
399
dnl OVS_ENABLE_OPTION([OPTION])
375
400
dnl Check whether the given C compiler OPTION is accepted.
376
401
dnl If so, add it to WARNING_FLAGS.
482
507
   AC_SUBST([SPARSEFLAGS])
483
508
   AC_SUBST([CGCCFLAGS])])
484
509
 
 
510
dnl OVS_SPARSE_EXTRA_INCLUDES
 
511
dnl
 
512
dnl The cgcc script from "sparse" does not search gcc's default
 
513
dnl search path. Get the default search path from GCC and pass
 
514
dnl them to sparse.
 
515
AC_DEFUN([OVS_SPARSE_EXTRA_INCLUDES],
 
516
    AC_SUBST([SPARSE_EXTRA_INCLUDES],
 
517
           [`$CC -v -E - </dev/null 2>&1 >/dev/null | sed -n -e '/^#include.*search.*starts.*here:/,/^End.*of.*search.*list\./s/^ \(.*\)/-I \1/p' |grep -v /usr/lib | grep -x -v '\-I /usr/include' | tr \\\n ' ' `] ))
 
518
 
485
519
dnl OVS_ENABLE_SPARSE
486
520
AC_DEFUN([OVS_ENABLE_SPARSE],
487
521
  [AC_REQUIRE([OVS_CHECK_SPARSE_TARGET])
488
522
   AC_REQUIRE([OVS_CHECK_MAKE_IF])
 
523
   AC_REQUIRE([OVS_SPARSE_EXTRA_INCLUDES])
489
524
   : ${SPARSE=sparse}
490
525
   AC_SUBST([SPARSE])
491
526
   AC_CONFIG_COMMANDS_PRE(
492
527
     [if test $ovs_cv_gnu_make_if = yes; then
493
 
        CC='$(if $(C),REAL_CC="'"$CC"'" CHECK="$(SPARSE) -I $(top_srcdir)/include/sparse $(SPARSEFLAGS)" cgcc $(CGCCFLAGS),'"$CC"')'
 
528
        CC='$(if $(C),REAL_CC="'"$CC"'" CHECK="$(SPARSE) -I $(top_srcdir)/include/sparse $(SPARSEFLAGS) $(SPARSE_EXTRA_INCLUDES) " cgcc $(CGCCFLAGS),'"$CC"')'
494
529
      fi])])