module interface version

Set the module interface version from include file.

Signed-off-by: Karsten Keil <kkeil@linux-pingi.de>
This commit is contained in:
Karsten Keil 2012-03-12 10:45:48 +01:00
parent 49173271ab
commit b6f2e91eed
4 changed files with 241 additions and 32 deletions

View File

@ -18,17 +18,17 @@ modules_LTLIBRARIES = lib_capi_mod_std.la lib_capi_mod_fritzbox.la lib_capi_mod_
lib_capi_mod_std_la_SOURCES = capi_mod_std.c
lib_capi_mod_std_la_CFLAGS = -fno-strict-aliasing
lib_capi_mod_std_la_LDFLAGS = -shared -version-info 2:0:0
lib_capi_mod_std_la_LDFLAGS = -shared -version-info @CAPI_MODULE_LOADER_VERSION@:0:0
lib_capi_mod_std_la_LIBADD = libcapi20.la
lib_capi_mod_fritzbox_la_SOURCES = capi_mod_fritzbox.c
lib_capi_mod_fritzbox_la_CFLAGS = -fno-strict-aliasing
lib_capi_mod_fritzbox_la_LDFLAGS = -shared -version-info 2:0:0
lib_capi_mod_fritzbox_la_LDFLAGS = -shared -version-info @CAPI_MODULE_LOADER_VERSION@:0:0
lib_capi_mod_fritzbox_la_LIBADD = libcapi20.la
lib_capi_mod_rcapi_la_SOURCES = capi_mod_rcapi.c
lib_capi_mod_rcapi_la_CFLAGS = -fno-strict-aliasing
lib_capi_mod_rcapi_la_LDFLAGS = -shared -version-info 2:0:0
lib_capi_mod_rcapi_la_LDFLAGS = -shared -version-info @CAPI_MODULE_LOADER_VERSION@:0:0
lib_capi_mod_rcapi_la_LIBADD = libcapi20.la
libcapi20dyn_a_SOURCES = capidyn.c

View File

@ -40,8 +40,9 @@ host_triplet = @host@
subdir = .
DIST_COMMON = README $(am__configure_deps) $(include_HEADERS) \
$(srcdir)/Makefile.am $(srcdir)/Makefile.in \
$(srcdir)/capi20.pc.in $(top_srcdir)/configure config.guess \
config.sub install-sh ltmain.sh missing
$(srcdir)/capi20.pc.in $(top_srcdir)/configure COPYING \
COPYING.LIB config.guess config.sub install-sh ltmain.sh \
missing
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
@ -82,7 +83,7 @@ libcapi20dyn_a_LIBADD =
am_libcapi20dyn_a_OBJECTS = libcapi20dyn_a-capidyn.$(OBJEXT)
libcapi20dyn_a_OBJECTS = $(am_libcapi20dyn_a_OBJECTS)
LTLIBRARIES = $(lib_LTLIBRARIES) $(modules_LTLIBRARIES)
lib_capi_mod_fritzbox_la_LIBADD =
lib_capi_mod_fritzbox_la_DEPENDENCIES = libcapi20.la
am_lib_capi_mod_fritzbox_la_OBJECTS = \
lib_capi_mod_fritzbox_la-capi_mod_fritzbox.lo
lib_capi_mod_fritzbox_la_OBJECTS = \
@ -91,7 +92,7 @@ lib_capi_mod_fritzbox_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=link $(CCLD) \
$(lib_capi_mod_fritzbox_la_CFLAGS) $(CFLAGS) \
$(lib_capi_mod_fritzbox_la_LDFLAGS) $(LDFLAGS) -o $@
lib_capi_mod_rcapi_la_LIBADD =
lib_capi_mod_rcapi_la_DEPENDENCIES = libcapi20.la
am_lib_capi_mod_rcapi_la_OBJECTS = \
lib_capi_mod_rcapi_la-capi_mod_rcapi.lo
lib_capi_mod_rcapi_la_OBJECTS = $(am_lib_capi_mod_rcapi_la_OBJECTS)
@ -99,7 +100,7 @@ lib_capi_mod_rcapi_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=link $(CCLD) \
$(lib_capi_mod_rcapi_la_CFLAGS) $(CFLAGS) \
$(lib_capi_mod_rcapi_la_LDFLAGS) $(LDFLAGS) -o $@
lib_capi_mod_std_la_LIBADD =
lib_capi_mod_std_la_DEPENDENCIES = libcapi20.la
am_lib_capi_mod_std_la_OBJECTS = lib_capi_mod_std_la-capi_mod_std.lo
lib_capi_mod_std_la_OBJECTS = $(am_lib_capi_mod_std_la_OBJECTS)
lib_capi_mod_std_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
@ -155,6 +156,7 @@ AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
CAPI_MODULE_LOADER_VERSION = @CAPI_MODULE_LOADER_VERSION@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
@ -277,13 +279,16 @@ modulesdir = $(libdir)/capi
modules_LTLIBRARIES = lib_capi_mod_std.la lib_capi_mod_fritzbox.la lib_capi_mod_rcapi.la
lib_capi_mod_std_la_SOURCES = capi_mod_std.c
lib_capi_mod_std_la_CFLAGS = -fno-strict-aliasing
lib_capi_mod_std_la_LDFLAGS = -shared -version-info 2:0:0
lib_capi_mod_std_la_LDFLAGS = -shared -version-info @CAPI_MODULE_LOADER_VERSION@:0:0
lib_capi_mod_std_la_LIBADD = libcapi20.la
lib_capi_mod_fritzbox_la_SOURCES = capi_mod_fritzbox.c
lib_capi_mod_fritzbox_la_CFLAGS = -fno-strict-aliasing
lib_capi_mod_fritzbox_la_LDFLAGS = -shared -version-info 2:0:0
lib_capi_mod_fritzbox_la_LDFLAGS = -shared -version-info @CAPI_MODULE_LOADER_VERSION@:0:0
lib_capi_mod_fritzbox_la_LIBADD = libcapi20.la
lib_capi_mod_rcapi_la_SOURCES = capi_mod_rcapi.c
lib_capi_mod_rcapi_la_CFLAGS = -fno-strict-aliasing
lib_capi_mod_rcapi_la_LDFLAGS = -shared -version-info 2:0:0
lib_capi_mod_rcapi_la_LDFLAGS = -shared -version-info @CAPI_MODULE_LOADER_VERSION@:0:0
lib_capi_mod_rcapi_la_LIBADD = libcapi20.la
libcapi20dyn_a_SOURCES = capidyn.c
libcapi20dyn_a_CFLAGS = -fPIC
# libcapi20_la_LIBADD = $(LIBADD_DL)
@ -361,7 +366,7 @@ uninstall-libLIBRARIES:
clean-libLIBRARIES:
-test -z "$(lib_LIBRARIES)" || rm -f $(lib_LIBRARIES)
libcapi20dyn.a: $(libcapi20dyn_a_OBJECTS) $(libcapi20dyn_a_DEPENDENCIES)
libcapi20dyn.a: $(libcapi20dyn_a_OBJECTS) $(libcapi20dyn_a_DEPENDENCIES)
-rm -f libcapi20dyn.a
$(libcapi20dyn_a_AR) libcapi20dyn.a $(libcapi20dyn_a_OBJECTS) $(libcapi20dyn_a_LIBADD)
$(RANLIB) libcapi20dyn.a
@ -427,13 +432,13 @@ clean-modulesLTLIBRARIES:
echo "rm -f \"$${dir}/so_locations\""; \
rm -f "$${dir}/so_locations"; \
done
lib_capi_mod_fritzbox.la: $(lib_capi_mod_fritzbox_la_OBJECTS) $(lib_capi_mod_fritzbox_la_DEPENDENCIES)
lib_capi_mod_fritzbox.la: $(lib_capi_mod_fritzbox_la_OBJECTS) $(lib_capi_mod_fritzbox_la_DEPENDENCIES)
$(lib_capi_mod_fritzbox_la_LINK) -rpath $(modulesdir) $(lib_capi_mod_fritzbox_la_OBJECTS) $(lib_capi_mod_fritzbox_la_LIBADD) $(LIBS)
lib_capi_mod_rcapi.la: $(lib_capi_mod_rcapi_la_OBJECTS) $(lib_capi_mod_rcapi_la_DEPENDENCIES)
lib_capi_mod_rcapi.la: $(lib_capi_mod_rcapi_la_OBJECTS) $(lib_capi_mod_rcapi_la_DEPENDENCIES)
$(lib_capi_mod_rcapi_la_LINK) -rpath $(modulesdir) $(lib_capi_mod_rcapi_la_OBJECTS) $(lib_capi_mod_rcapi_la_LIBADD) $(LIBS)
lib_capi_mod_std.la: $(lib_capi_mod_std_la_OBJECTS) $(lib_capi_mod_std_la_DEPENDENCIES)
lib_capi_mod_std.la: $(lib_capi_mod_std_la_OBJECTS) $(lib_capi_mod_std_la_DEPENDENCIES)
$(lib_capi_mod_std_la_LINK) -rpath $(modulesdir) $(lib_capi_mod_std_la_OBJECTS) $(lib_capi_mod_std_la_LIBADD) $(LIBS)
libcapi20.la: $(libcapi20_la_OBJECTS) $(libcapi20_la_DEPENDENCIES)
libcapi20.la: $(libcapi20_la_OBJECTS) $(libcapi20_la_DEPENDENCIES)
$(libcapi20_la_LINK) -rpath $(libdir) $(libcapi20_la_OBJECTS) $(libcapi20_la_LIBADD) $(LIBS)
mostlyclean-compile:

226
capi20/configure vendored
View File

@ -757,6 +757,7 @@ LIBCAPI_VERSION_RELEASE
LIBCAPI_VERSION_AGE
LIBCAPI_VERSION
INSTALL
CAPI_MODULE_LOADER_VERSION
LIBTOOL_DEPS
CPP
OTOOL64
@ -1955,6 +1956,184 @@ fi
eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
} # ac_fn_c_check_header_mongrel
# ac_fn_c_compute_int LINENO EXPR VAR INCLUDES
# --------------------------------------------
# Tries to find the compile-time value of EXPR in a program that includes
# INCLUDES, setting VAR accordingly. Returns whether the value could be
# computed
ac_fn_c_compute_int ()
{
as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
if test "$cross_compiling" = yes; then
# Depending upon the size, compute the lo and hi bounds.
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
$4
int
main ()
{
static int test_array [1 - 2 * !(($2) >= 0)];
test_array [0] = 0
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"; then :
ac_lo=0 ac_mid=0
while :; do
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
$4
int
main ()
{
static int test_array [1 - 2 * !(($2) <= $ac_mid)];
test_array [0] = 0
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"; then :
ac_hi=$ac_mid; break
else
as_fn_arith $ac_mid + 1 && ac_lo=$as_val
if test $ac_lo -le $ac_mid; then
ac_lo= ac_hi=
break
fi
as_fn_arith 2 '*' $ac_mid + 1 && ac_mid=$as_val
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
done
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
$4
int
main ()
{
static int test_array [1 - 2 * !(($2) < 0)];
test_array [0] = 0
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"; then :
ac_hi=-1 ac_mid=-1
while :; do
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
$4
int
main ()
{
static int test_array [1 - 2 * !(($2) >= $ac_mid)];
test_array [0] = 0
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"; then :
ac_lo=$ac_mid; break
else
as_fn_arith '(' $ac_mid ')' - 1 && ac_hi=$as_val
if test $ac_mid -le $ac_hi; then
ac_lo= ac_hi=
break
fi
as_fn_arith 2 '*' $ac_mid && ac_mid=$as_val
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
done
else
ac_lo= ac_hi=
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
# Binary search between lo and hi bounds.
while test "x$ac_lo" != "x$ac_hi"; do
as_fn_arith '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo && ac_mid=$as_val
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
$4
int
main ()
{
static int test_array [1 - 2 * !(($2) <= $ac_mid)];
test_array [0] = 0
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"; then :
ac_hi=$ac_mid
else
as_fn_arith '(' $ac_mid ')' + 1 && ac_lo=$as_val
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
done
case $ac_lo in #((
?*) eval "$3=\$ac_lo"; ac_retval=0 ;;
'') ac_retval=1 ;;
esac
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
$4
static long int longval () { return $2; }
static unsigned long int ulongval () { return $2; }
#include <stdio.h>
#include <stdlib.h>
int
main ()
{
FILE *f = fopen ("conftest.val", "w");
if (! f)
return 1;
if (($2) < 0)
{
long int i = longval ();
if (i != ($2))
return 1;
fprintf (f, "%ld", i);
}
else
{
unsigned long int i = ulongval ();
if (i != ($2))
return 1;
fprintf (f, "%lu", i);
}
/* Do not output a trailing newline, as this causes \r\n confusion
on some platforms. */
return ferror (f) || fclose (f) != 0;
;
return 0;
}
_ACEOF
if ac_fn_c_try_run "$LINENO"; then :
echo >>conftest.val; read $3 <conftest.val; ac_retval=0
else
ac_retval=1
fi
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
conftest.$ac_objext conftest.beam conftest.$ac_ext
rm -f conftest.val
fi
eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
as_fn_set_status $ac_retval
} # ac_fn_c_compute_int
cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
@ -4500,13 +4679,13 @@ if ${lt_cv_nm_interface+:} false; then :
else
lt_cv_nm_interface="BSD nm"
echo "int some_variable = 0;" > conftest.$ac_ext
(eval echo "\"\$as_me:4503: $ac_compile\"" >&5)
(eval echo "\"\$as_me:4682: $ac_compile\"" >&5)
(eval "$ac_compile" 2>conftest.err)
cat conftest.err >&5
(eval echo "\"\$as_me:4506: $NM \\\"conftest.$ac_objext\\\"\"" >&5)
(eval echo "\"\$as_me:4685: $NM \\\"conftest.$ac_objext\\\"\"" >&5)
(eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
cat conftest.err >&5
(eval echo "\"\$as_me:4509: output\"" >&5)
(eval echo "\"\$as_me:4688: output\"" >&5)
cat conftest.out >&5
if $GREP 'External.*some_variable' conftest.out > /dev/null; then
lt_cv_nm_interface="MS dumpbin"
@ -5712,7 +5891,7 @@ ia64-*-hpux*)
;;
*-*-irix6*)
# Find out which ABI we are using.
echo '#line 5715 "configure"' > conftest.$ac_ext
echo '#line 5894 "configure"' > conftest.$ac_ext
if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
(eval $ac_compile) 2>&5
ac_status=$?
@ -7237,11 +7416,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
(eval echo "\"\$as_me:7240: $lt_compile\"" >&5)
(eval echo "\"\$as_me:7419: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
echo "$as_me:7244: \$? = $ac_status" >&5
echo "$as_me:7423: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings other than the usual output.
@ -7576,11 +7755,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
(eval echo "\"\$as_me:7579: $lt_compile\"" >&5)
(eval echo "\"\$as_me:7758: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
echo "$as_me:7583: \$? = $ac_status" >&5
echo "$as_me:7762: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings other than the usual output.
@ -7681,11 +7860,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
(eval echo "\"\$as_me:7684: $lt_compile\"" >&5)
(eval echo "\"\$as_me:7863: $lt_compile\"" >&5)
(eval "$lt_compile" 2>out/conftest.err)
ac_status=$?
cat out/conftest.err >&5
echo "$as_me:7688: \$? = $ac_status" >&5
echo "$as_me:7867: \$? = $ac_status" >&5
if (exit $ac_status) && test -s out/conftest2.$ac_objext
then
# The compiler can only warn and ignore the option if not recognized
@ -7736,11 +7915,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
(eval echo "\"\$as_me:7739: $lt_compile\"" >&5)
(eval echo "\"\$as_me:7918: $lt_compile\"" >&5)
(eval "$lt_compile" 2>out/conftest.err)
ac_status=$?
cat out/conftest.err >&5
echo "$as_me:7743: \$? = $ac_status" >&5
echo "$as_me:7922: \$? = $ac_status" >&5
if (exit $ac_status) && test -s out/conftest2.$ac_objext
then
# The compiler can only warn and ignore the option if not recognized
@ -10098,13 +10277,13 @@ $as_echo_n "checking whether a program can dlopen itself... " >&6; }
if ${lt_cv_dlopen_self+:} false; then :
$as_echo_n "(cached) " >&6
else
if test "$cross_compiling" = yes; then :
if test "$cross_compiling" = yes; then :
lt_cv_dlopen_self=cross
else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
#line 10107 "configure"
#line 10286 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@ -10194,13 +10373,13 @@ $as_echo_n "checking whether a statically linked program can dlopen itself... "
if ${lt_cv_dlopen_self_static+:} false; then :
$as_echo_n "(cached) " >&6
else
if test "$cross_compiling" = yes; then :
if test "$cross_compiling" = yes; then :
lt_cv_dlopen_self_static=cross
else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
#line 10203 "configure"
#line 10382 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@ -10608,6 +10787,20 @@ fi
done
if ac_fn_c_compute_int "$LINENO" "MODULE_LOADER_VERSION" "CAPI_MODULE_LOADER_VERSION" "
#include <sys/types.h>
#include \"capi_mod.h\"
"; then :
else
as_fn_error $? "capi library MODULE_LOADER_VERSION cannot be calculated" "$LINENO" 5
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: Capi library module loader version ${CAPI_MODULE_LOADER_VERSION} detected" >&5
$as_echo "Capi library module loader version ${CAPI_MODULE_LOADER_VERSION} detected" >&6; }
for ac_func in select
do :
ac_fn_c_check_func "$LINENO" "select" "ac_cv_func_select"
@ -12825,3 +13018,4 @@ if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;}
fi

View File

@ -37,6 +37,16 @@ AC_HEADER_STDC
AC_CHECK_HEADERS(fcntl.h sys/ioctl.h unistd.h)
AC_CHECK_HEADERS(linux/capi.h)
AC_COMPUTE_INT([CAPI_MODULE_LOADER_VERSION], [[MODULE_LOADER_VERSION]],
[
#include <sys/types.h>
#include "capi_mod.h"
],
[AC_MSG_ERROR([capi library MODULE_LOADER_VERSION cannot be calculated])]
)
AC_MSG_RESULT([Capi library module loader version ${CAPI_MODULE_LOADER_VERSION} detected])
AC_SUBST(CAPI_MODULE_LOADER_VERSION)
dnl Checks for library functions.
AC_CHECK_FUNCS(select)