Index: Makefile.in ================================================================== --- Makefile.in +++ Makefile.in @@ -35,41 +35,41 @@ OBJS = libconfig.o conf_space.o conf_section.o conf_apache.o conf_colon.o conf_equal.o conf_xml.o @LIBOBJS@ SHOBJS = libconfig_shr.o conf_space_shr.o conf_section_shr.o conf_apache_shr.o conf_colon_shr.o conf_equal_shr.o conf_xml_shr.o @SHLIBOBJS@ all: $(LIBS) $(BINS) -libconfig.$(SHOBJEXT): $(SHOBJS) libconfig.vers libconfig.syms +libconfig.$(SHOBJEXT): $(SHOBJS) $(srcdir)/libconfig.vers libconfig.syms $(CC) $(CPPFLAGS) $(CFLAGS) $(SHOBJFLAGS) $(SHOBJLDFLAGS) -o $@ $(SHOBJS) $(LDFLAGS) -@WEAKENSYMS@ libconfig.$(SHOBJEXT) -@REMOVESYMS@ libconfig.$(SHOBJEXT) libconfig.$(AREXT): $(OBJS) $(AR) rcu $@ $(OBJS) -$(RANLIB) $@ -libconfig.o: $(srcdir)/libconfig.c $(srcdir)/compat.h $(srcdir)/win32.h $(srcdir)/config.h libconfig.h -libconfig_shr.o: $(srcdir)/libconfig.c $(srcdir)/compat.h $(srcdir)/win32.h $(srcdir)/config.h libconfig.h +libconfig.o: $(srcdir)/libconfig.c $(srcdir)/compat.h $(srcdir)/win32.h $(srcdir)/config.h $(srcdir)/libconfig.h +libconfig_shr.o: $(srcdir)/libconfig.c $(srcdir)/compat.h $(srcdir)/win32.h $(srcdir)/config.h $(srcdir)/libconfig.h %_shr.o: $(srcdir)/%.c $(CC) $(CPPFLAGS) $(CFLAGS) $(SHOBJFLAGS) -c -o $@ "$(filter %.c, $^)" %.o: $(srcdir)/%.c $(CC) $(CPPFLAGS) $(CFLAGS) -c -o $@ "$(filter %.c, $^)" -libconfig.vers: libconfig.syms.in - rm -f libconfig.vers +$(srcdir)/libconfig.vers: $(srcdir)/libconfig.syms.in + rm -f $(srcdir)/libconfig.vers echo 'LIBCONFIG_0.3.0 {' > '$@' echo ' global:' >> '$@' - cat libconfig.syms.in | sed 's/^@SYMPREFIX@//;s/^/ /;s/$$/;/' >> '$@' + cat '$(srcdir)/libconfig.syms.in' | sed 's/^@''SYMPREFIX@//;s/^/ /;s/$$/;/' >> '$@' echo ' local:' >> '$@' echo ' *;' >> '$@' echo '};' >> '$@' test-lc$(EXEEXT): $(LIBS) $(srcdir)/test-lc.c - $(CC) $(CPPFLAGS) $(CFLAGS) -o $@ $(filter %.c, $^) $(LDFLAGS) -Wl,-R -Wl,. -L. -lconfig + $(CC) $(CPPFLAGS) $(CFLAGS) -o $@ $(filter %.c, $^) $(LDFLAGS) -Wl,-R -Wl,$(srcdir) -L$(srcdir) -lconfig -install: all libconfig.h +install: all $(srcdir)/libconfig.h -$(INSTALL) -d "$(DESTDIR)$(mandir)" -$(INSTALL) -d "$(DESTDIR)$(mandir)/man3" -$(INSTALL) -d "$(DESTDIR)$(libdir)" -$(INSTALL) -d "$(DESTDIR)$(includedir)" -$(INSTALL) -m 644 libconfig.$(SHOBJEXT).def "$(DESTDIR)$(libdir)/libconfig.def" @@ -84,11 +84,11 @@ $(INSTALL) -m 644 lc_seterrstr.3 "$(DESTDIR)$(mandir)/man3/lc_seterrstr.3" $(INSTALL) -m 644 lc_geterrno.3 "$(DESTDIR)$(mandir)/man3/lc_geterrno.3" $(INSTALL) -m 644 lc_process.3 "$(DESTDIR)$(mandir)/man3/lc_process.3" $(INSTALL) -m 644 lc_cleanup.3 "$(DESTDIR)$(mandir)/man3/lc_cleanup.3" $(INSTALL) -m 644 libconfig.3 "$(DESTDIR)$(mandir)/man3/libconfig.3" - $(INSTALL) -m 644 libconfig.h "$(DESTDIR)$(includedir)/libconfig.h" + $(INSTALL) -m 644 $(srcdir)/libconfig.h "$(DESTDIR)$(includedir)/libconfig.h" -( cd "$(DESTDIR)$(libdir)" && rm -f libconfig.$(SHOBJEXT).$(PKGVERSMAJOR) && $(LN_S) libconfig.$(SHOBJEXT).$(PKGVERS) libconfig.$(SHOBJEXT).$(PKGVERSMAJOR) ) -( cd "$(DESTDIR)$(libdir)" && rm -f libconfig.$(SHOBJEXT) && $(LN_S) libconfig.$(SHOBJEXT).$(PKGVERS) libconfig.$(SHOBJEXT) ) clean: rm -f *.o $(BINS) $(LIBS) *~ test-lc$(EXEEXT) *.dll.a *.dll.def *.dll Index: build/prep.sh ================================================================== --- build/prep.sh +++ build/prep.sh @@ -23,13 +23,13 @@ automake -fca rm -rf autom4te.cache rm -f libconfig.vers -make -f Makefile.in libconfig.vers +make srcdir=. -f Makefile.in ./libconfig.vers # Add Linux/MUSL support if missing if ! grep '[-]musl' config.sub >/dev/null 2>/dev/null; then sed 's@\(-*\)linux-gnu\* @\1linux-musl | &@g' config.sub > config.sub.new cat config.sub.new > config.sub rm -f config.sub.new fi Index: configure.ac ================================================================== --- configure.ac +++ configure.ac @@ -38,14 +38,14 @@ AC_REPLACE_FUNCS(strsep strtoll getuid) AC_CHECK_FUNCS(getpwuid strtof) dnl Setup stable API -DC_SETUP_STABLE_API(libconfig.vers, libconfig.syms) +DC_SETUP_STABLE_API([${srcdir}/libconfig.vers], libconfig.syms) dnl Set a soname SHOBJ_SET_SONAME([libconfig.$SHOBJEXT.$PACKAGE_VERSION]) dnl This MUST be last. DC_SYNC_SHLIBOBJS AC_OUTPUT(Makefile lc_geterrno.3 lc_process.3 lc_register_var.3 lc_geterrstr.3 lc_seterrstr.3 lc_register_callback.3 lc_cleanup.3 lc_process_file.3 libconfig.3 lc_handle_type.3 libconfig.syms)