diff options
author | Dan Williams <dcbw@redhat.com> | 2012-01-09 18:37:44 -0600 |
---|---|---|
committer | Dan Williams <dcbw@redhat.com> | 2012-01-09 19:25:53 -0600 |
commit | d4940f4ab2165398168e82b283e856e71ec24a68 (patch) | |
tree | 009f069d249572bfd145840498be9b015d1e5a11 | |
parent | 821e436f61e348155ce8906b56ee125c3f47f437 (diff) |
core: start fixing for libnl3
-rw-r--r-- | bin/Makefile.am | 4 | ||||
-rw-r--r-- | configure.in | 54 | ||||
-rw-r--r-- | include/config.h.in | 9 | ||||
-rw-r--r-- | lib/Makefile.am | 8 | ||||
-rw-r--r-- | libwimaxll-0-uninstalled.pc.in | 4 | ||||
-rw-r--r-- | libwimaxll-0.pc.in | 4 | ||||
-rw-r--r-- | libwimaxll-i2400m-0-uninstalled.pc.in | 4 | ||||
-rw-r--r-- | libwimaxll-i2400m-0.pc.in | 4 | ||||
-rw-r--r-- | src/Makefile.am | 4 |
9 files changed, 74 insertions, 21 deletions
diff --git a/bin/Makefile.am b/bin/Makefile.am index c19b746..229102f 100644 --- a/bin/Makefile.am +++ b/bin/Makefile.am @@ -5,7 +5,9 @@ INCLUDES = \ -I$(top_builddir)/include \ $(I2400M_INCLUDES) -LDADD = ../lib/libwimaxll.la $(LIBNL1_LIBS) +AM_CPPFLAGS = $(LIBNL_CFLAGS) + +LDADD = ../lib/libwimaxll.la $(LIBNL_LIBS) dist_bin_SCRIPTS = \ wimaxll-reset \ diff --git a/configure.in b/configure.in index a837f48..b3a54b8 100644 --- a/configure.in +++ b/configure.in @@ -60,18 +60,56 @@ AC_ARG_ENABLE(debug, AC_HELP_STRING([--enable-debug], fi ]) -# If libnl-1 is installed -AC_ARG_WITH(libnl1, - AC_HELP_STRING([--with-libnl1], +# If libnl is installed +AC_ARG_WITH(libnl, + AC_HELP_STRING([--with-libnl], [prefix to libnl (>=1.0-pre7) installation; defaults to whichever is found in the system with pkg-config. USE ABSOLUTE PATHS.]), export PKG_CONFIG_PATH="$withval:$withval/lib/pkgconfig") -PKG_CHECK_MODULES(LIBNL1, libnl-1 >= 1.0-pre7) -libnl1_prefix=`pkg-config "libnl-1 >= 1.0-pre7" --variable=prefix` -AC_MSG_RESULT(Using libnl1 from $libnl1_prefix) -AC_SUBST(LIBNL1_CFLAGS) -AC_SUBST(LIBNL1_LIBS) + +have_libnl="no" +PKG_CHECK_MODULES(LIBNL3, libnl-3.0, [have_libnl3=yes], [have_libnl3=no]) +PKG_CHECK_MODULES(LIBNL_ROUTE3, libnl-route-3.0, [have_libnl_route3=yes], [have_libnl_route3=no]) +PKG_CHECK_MODULES(LIBNL_GENL3, libnl-genl-3.0, [have_libnl_genl3=yes], [have_libnl_genl3=no]) +if (test "${have_libnl3}" = "yes" -a "${have_libnl_route3}" = "yes" -a "${have_libnl_genl3}" = "yes"); then + AC_DEFINE(HAVE_LIBNL3, 1, [Define if you require specific libnl-3 support]) + LIBNL_CFLAGS="$LIBNL3_CFLAGS $LIBNL_ROUTE3_CFLAGS $LIBNL_GENL3_CFLAGS" + LIBNL_LIBS="$LIBNL3_LIBS $LIBNL_ROUTE3_LIBS $LIBNL_GENL3_LIBS" + libnl_version="3" + LIBNL_PC_EXT="3.0" + have_libnl="yes" +else + PKG_CHECK_MODULES(LIBNL2, libnl-2.0, [have_libnl2=yes], [have_libnl2=no]) + if (test "${have_libnl2}" = "yes"); then + AC_DEFINE(HAVE_LIBNL2, 1, [Define if you require specific libnl-2 support]) + LIBNL_CFLAGS="$LIBNL2_CFLAGS" + LIBNL_LIBS="$LIBNL2_LIBS" + libnl_version="2" + LIBNL_PC_EXT="2" + have_libnl="yes" + else + PKG_CHECK_MODULES(LIBNL1, libnl-1 >= 1.0-pre8, [have_libnl1=yes], [have_libnl1=no]) + if (test "${have_libnl1}" = "yes"); then + AC_DEFINE(HAVE_LIBNL1, 1, [Define if you require libnl-1 legacy support]) + LIBNL_CFLAGS="$LIBNL1_CFLAGS" + LIBNL_LIBS="$LIBNL1_LIBS" + libnl_version="1" + LIBNL_PC_EXT="1" + have_libnl="yes" + fi + fi +fi + +if (test "${have_libnl}" = "no"); then + AC_MSG_ERROR([libnl development header are required]) +fi +AC_SUBST(LIBNL_CFLAGS) +AC_SUBST(LIBNL_LIBS) +AC_SUBST(LIBNL_PC_EXT) + +libnl_prefix=`pkg-config "libnl >= 1.0-pre7" --variable=prefix` +AC_MSG_RESULT(Using libnl from $libnl_prefix) # Linux WiMAX stack LINUX_KERNEL=/usr diff --git a/include/config.h.in b/include/config.h.in index b659c56..4bf7928 100644 --- a/include/config.h.in +++ b/include/config.h.in @@ -6,6 +6,15 @@ /* Define to 1 if you have the <inttypes.h> header file. */ #undef HAVE_INTTYPES_H +/* Define if you require libnl-1 legacy support */ +#undef HAVE_LIBNL1 + +/* Define if you require specific libnl-2 support */ +#undef HAVE_LIBNL2 + +/* Define if you require specific libnl-3 support */ +#undef HAVE_LIBNL3 + /* Define to 1 if you have the <memory.h> header file. */ #undef HAVE_MEMORY_H diff --git a/lib/Makefile.am b/lib/Makefile.am index 4d97adf..ca6f2f0 100644 --- a/lib/Makefile.am +++ b/lib/Makefile.am @@ -4,7 +4,7 @@ # INCLUDES = \ -I$(top_builddir)/include -I$(top_srcdir)/include \ - $(LIBNL1_CFLAGS) \ + $(LIBNL_CFLAGS) \ -I $(LINUX_INCLUDE_PATH) noinst_HEADERS = debug.h internal.h @@ -27,12 +27,13 @@ libwimaxll_a_SOURCES = $(libwimaxll_sources) libwimaxll_la_SOURCES = $(libwimaxll_sources) # Trick automake libwimaxll_la_CFLAGS = $(AM_CFLAGS) +libwimaxll_la_CPPFLAGS = $(LIBNL_CFLAGS) # -version-info is CURRENT:REVISION:AGE # CURRENT: inc for added, removed/changed interfaces # REVISION: inc for changes that do not affect the external interface # AGE: inc for added interfaces # set to zero if removed existing interfaces -libwimaxll_la_LDFLAGS = -version-info 1:0:1 $(LIBNL1_LIBS) +libwimaxll_la_LDFLAGS = -version-info 1:0:1 $(LIBNL_LIBS) # misc.c includes this file BUILT_SOURCES = names-vals.h @@ -68,13 +69,14 @@ libwimaxll_i2400m_a_SOURCES = $(libwimaxll_i2400m_sources) libwimaxll_i2400m_la_SOURCES = $(libwimaxll_i2400m_sources) # Trick automake libwimaxll_i2400m_la_CFLAGS = $(AM_CFLAGS) +libwimaxll_i2400m_la_CPPFLAGS = $(LIBNL_CFLAGS) # -version-info is CURRENT:REVISION:AGE # CURRENT: inc for added, removed/changed interfaces # REVISION: inc for changes that do not affect the external interface # AGE: inc for added interfaces # set to zero if removed existing interfaces libwimaxll_i2400m_la_LIBADD = libwimaxll.la -libwimaxll_i2400m_la_LDFLAGS = -lpthread -version-info 1:0:1 $(LIBNL1_LIBS) +libwimaxll_i2400m_la_LDFLAGS = -lpthread -version-info 1:0:1 $(LIBNL_LIBS) lib_LTLIBRARIES += libwimaxll-i2400m.la lib_LIBRARIES += libwimaxll-i2400m.a diff --git a/libwimaxll-0-uninstalled.pc.in b/libwimaxll-0-uninstalled.pc.in index 92c2f09..af0f81c 100644 --- a/libwimaxll-0-uninstalled.pc.in +++ b/libwimaxll-0-uninstalled.pc.in @@ -6,6 +6,6 @@ includedir=${prefix}/include Name: @PACKAGE_TARNAME@ Description: @PACKAGE_NAME@ Version: @PACKAGE_VERSION@ -Requires: libnl-1 >= 1.0 -Libs: -L${libdir} -lwimaxll @LIBNL1_LIBS@ +Requires: libnl-@LIBNL_PC_EXT@ >= 1.0 +Libs: -L${libdir} -lwimaxll @LIBNL_LIBS@ Cflags: -I${includedir} diff --git a/libwimaxll-0.pc.in b/libwimaxll-0.pc.in index f998325..66fefd6 100644 --- a/libwimaxll-0.pc.in +++ b/libwimaxll-0.pc.in @@ -6,6 +6,6 @@ includedir=@includedir@ Name: @PACKAGE_TARNAME@ Description: @PACKAGE_NAME@ Version: @PACKAGE_VERSION@ -Requires: libnl-1 >= 1.0 -Libs: -L${libdir} -lwimaxll @LIBNL1_LIBS@ +Requires: libnl-@LIBNL_PC_EXT@ >= 1.0 +Libs: -L${libdir} -lwimaxll @LIBNL_LIBS@ Cflags: -I${includedir} diff --git a/libwimaxll-i2400m-0-uninstalled.pc.in b/libwimaxll-i2400m-0-uninstalled.pc.in index 73ec46c..07c9531 100644 --- a/libwimaxll-i2400m-0-uninstalled.pc.in +++ b/libwimaxll-i2400m-0-uninstalled.pc.in @@ -6,6 +6,6 @@ includedir=${prefix}/include Name: @PACKAGE_TARNAME@ (i2400m specific) Description: @PACKAGE_NAME@ (i2400m specific) Version: @PACKAGE_VERSION@ -Requires: libnl-1 >= 1.0 -Libs: -L${libdir} -lwimaxll-i2400m -lwimaxll @LIBNL1_LIBS@ +Requires: libnl-@LIBNL_PC_EXT@ >= 1.0 +Libs: -L${libdir} -lwimaxll-i2400m -lwimaxll @LIBNL_LIBS@ Cflags: -I${includedir} diff --git a/libwimaxll-i2400m-0.pc.in b/libwimaxll-i2400m-0.pc.in index b4e176f..2a5efd8 100644 --- a/libwimaxll-i2400m-0.pc.in +++ b/libwimaxll-i2400m-0.pc.in @@ -6,6 +6,6 @@ includedir=@includedir@ Name: @PACKAGE_TARNAME@ Description: @PACKAGE_NAME@ Version: @PACKAGE_VERSION@ -Requires: libnl-1 >= 1.0 -Libs: -L${libdir} -lwimaxll-i2400m -lwimaxll @LIBNL1_LIBS@ +Requires: libnl-@LIBNL_PC_EXT@ >= 1.0 +Libs: -L${libdir} -lwimaxll-i2400m -lwimaxll @LIBNL_LIBS@ Cflags: -I${includedir} diff --git a/src/Makefile.am b/src/Makefile.am index 65d1652..6395b65 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -3,7 +3,9 @@ INCLUDES = \ -I$(top_builddir)/include -I$(top_srcdir)/include \ $(I2400M_INCLUDES) -LDADD = ../lib/libwimaxll.la $(LIBNL1_LIBS) +AM_CPPFLAGS = $(LIBNL_CFLAGS) + +LDADD = ../lib/libwimaxll.la $(LIBNL_LIBS) testdir = $(pkglibdir)/test |