@@ -23,6 +23,8 @@ $(call allow-override,CC,$(CROSS_COMPILE)gcc)
$(call allow-override,AR,$(CROSS_COMPILE)ar)
$(call allow-override,NM,$(CROSS_COMPILE)nm)
$(call allow-override,PKG_CONFIG,pkg-config)
+$(call allow-override,LD_SO_CONF_PATH,/etc/ld.so.conf.d/)
+$(call allow-override,LDCONFIG,ldconfig)
EXT = -std=gnu99
INSTALL = install
@@ -241,10 +243,35 @@ define do_install_pkgconfig_file
fi
endef
+
+ifeq ("$(DESTDIR)", "")
+# If DESTDIR is not defined, then test if after installing the library
+# and running ldconfig, if the library is visible by ld.so.
+# If not, add the path to /etc/ld.so.conf.d/trace.conf and run ldconfig again.
+define install_ld_config
+ $(LDCONFIG); \
+ if ! grep "^$(libdir_SQ)$$" $(LD_SO_CONF_PATH)/* &> /dev/null ; then \
+ $(CC) -o $(OUTPUT)test $(srctree)/test.c -I $(includedir_SQ) \
+ -L $(libdir_SQ) -ltraceevent; \
+ if ! $(OUTPUT)test > /dev/null; then \
+ echo '$(libdir_SQ)' >> $(LD_SO_CONF_PATH)/trace.conf; \
+ $(LDCONFIG); \
+ fi; \
+ $(RM) $(OUTPUT)test; \
+ fi
+endef
+else
+# If installing to a location for another machine or package, do not bother
+# with running ldconfig.
+define install_ld_config
+endef
+endif # DESTDIR = ""
+
install_lib: all_cmd install_plugins install_headers install_pkgconfig
$(call QUIET_INSTALL, $(LIB_TARGET)) \
$(call do_install_mkdir,$(libdir_SQ)); \
- cp -fpR $(LIB_INSTALL) $(DESTDIR)$(libdir_SQ)
+ cp -fpR $(LIB_INSTALL) $(DESTDIR)$(libdir_SQ); \
+ $(call install_ld_config)
install_pkgconfig: $(PKG_CONFIG_FILE)
$(call QUIET_INSTALL, $(PKG_CONFIG_FILE)) \
new file mode 100644
@@ -0,0 +1,7 @@
+#include <event-parse.h>
+
+int main ()
+{
+ tep_load_plugins(NULL);
+ return 0;
+}