]> git.ipfire.org Git - thirdparty/kmod.git/commitdiff
build-sys: workaround libtool issue with argv[0]
authorLucas De Marchi <lucas.demarchi@profusion.mobi>
Tue, 10 Jan 2012 16:06:24 +0000 (14:06 -0200)
committerLucas De Marchi <lucas.demarchi@profusion.mobi>
Tue, 10 Jan 2012 17:31:58 +0000 (15:31 -0200)
Symlinking tools to kmod doesn't work because argv[0] is not the name of
the symlink, but rather 'kmod' (since libtool's wrapper script calls the
tools/.libs/kmod directly)

Now we create another binary kmod-nolib that is statically linked to
libkmod so we can call the binary directly and do not worry about
LD_LIBRARY_PATH.

Makefile.am
tools/.gitignore

index 99902cb189ad3dc226cfcb8936ecddd3f8fc35ed..6c1e118135a682a5dd3bdd08b998cb4f884110b1 100644 (file)
@@ -66,6 +66,9 @@ libkmod_libkmod_la_SOURCES =\
        libkmod/libkmod-file.c \
        libkmod/libkmod-elf.c
 
+noinst_LTLIBRARIES += libkmod/libkmod-private.la
+libkmod_libkmod_private_la_SOURCES = $(libkmod_libkmod_la_SOURCES)
+
 EXTRA_DIST += libkmod/libkmod.sym
 EXTRA_DIST += libkmod/COPYING libkmod/README
 
@@ -109,7 +112,14 @@ tools_kmod_CFLAGS = $(AM_CFLAGS)
 tools_kmod_LDADD = libkmod/libkmod-util.la \
                   libkmod/libkmod.la
 
-${noinst_SCRIPTS}: tools/kmod
+noinst_PROGRAMS = tools/kmod-nolib
+tools_kmod_nolib_SOURCES = $(tools_kmod_SOURCES)
+tools_kmod_nolib_CPPFLAGS = $(tools_kmod_CPPFLAGS)
+tools_kmod_nolib_CFLAGS = $(tools_kmod_CFLAGS)
+tools_kmod_nolib_LDADD = libkmod/libkmod-util.la \
+                        libkmod/libkmod-private.la
+
+${noinst_SCRIPTS}: tools/kmod-nolib
        $(AM_V_GEN) ($(RM) $@; \
                $(LN_S) $(notdir $<) $@)
 endif
@@ -123,19 +133,19 @@ check_PROGRAMS = test/test-init test/test-loaded \
 
 TESTS = test/test-init test/test-loaded
 
-test_test_init_LDADD = libkmod/libkmod.la
-test_test_loaded_LDADD = libkmod/libkmod.la
-
-test_test_rmmod_LDADD = libkmod/libkmod.la
-test_test_rmmod2_LDADD = libkmod/libkmod.la
-test_test_insmod_LDADD = libkmod/libkmod.la
-test_test_lookup_LDADD = libkmod/libkmod.la
-test_test_path_from_name_LDADD = libkmod/libkmod.la
-test_test_get_dependencies_LDADD = libkmod/libkmod.la
-test_test_mod_double_ref_LDADD = libkmod/libkmod.la
-test_test_blacklist_LDADD = libkmod/libkmod.la
-test_test_elf_LDADD = libkmod/libkmod.la
-test_test_probe_LDADD = libkmod/libkmod.la
-test_test_invalidate_config_LDADD = libkmod/libkmod.la
+test_test_init_LDADD = libkmod/libkmod-private.la
+test_test_loaded_LDADD = libkmod/libkmod-private.la
+
+test_test_rmmod_LDADD = libkmod/libkmod-private.la
+test_test_rmmod2_LDADD = libkmod/libkmod-private.la
+test_test_insmod_LDADD = libkmod/libkmod-private.la
+test_test_lookup_LDADD = libkmod/libkmod-private.la
+test_test_path_from_name_LDADD = libkmod/libkmod-private.la
+test_test_get_dependencies_LDADD = libkmod/libkmod-private.la
+test_test_mod_double_ref_LDADD = libkmod/libkmod-private.la
+test_test_blacklist_LDADD = libkmod/libkmod-private.la
+test_test_elf_LDADD = libkmod/libkmod-private.la
+test_test_probe_LDADD = libkmod/libkmod-private.la
+test_test_invalidate_config_LDADD = libkmod/libkmod-private.la
 
 DISTCHECK_CONFIGURE_FLAGS=--enable-gtk-doc
index 8978adb450c3688882b277ddef3db55197c8ef55..041d7b22fabd9ee3e5c1b285079955865dc4f439 100644 (file)
@@ -6,3 +6,4 @@ modprobe
 modinfo
 depmod
 kmod
+kmod-nolib