diff -Naur portaudio_v18_1/configure.in portaudio_v18_1.oden/configure.in --- portaudio_v18_1/configure.in 2005-09-15 17:14:26.000000000 +0200 +++ portaudio_v18_1.oden/configure.in 2005-09-15 17:11:16.000000000 +0200 @@ -13,21 +13,30 @@ dnl Checks for programs AC_PROG_CC -AC_PROG_RANLIB +AC_PROG_LIBTOOL AC_PROG_INSTALL AC_PATH_PROG(AR, ar, no) if [[ $AR = "no" ]] ; then AC_MSG_ERROR("Could not find ar - needed to create a library"); fi +LT_CURRENT=0 +LT_REVISION=18 +LT_AGE=0 + +AC_SUBST(LT_CURRENT) +AC_SUBST(LT_REVISION) +AC_SUBST(LT_AGE) + dnl Extra variables we want to substitute AC_SUBST(OTHER_OBJS) AC_SUBST(PADLL) AC_SUBST(SHARED_FLAGS) AC_SUBST(DLL_LIBS) +AC_SUBST(VERSION_INFO) dnl Determine the host operating system / platform -AC_CANONICAL_HOST +dnl in AC_PROG_INSTALL AC_CANONICAL_HOST case "${host_os}" in darwin* ) @@ -68,8 +77,9 @@ OTHER_OBJS="pa_unix_oss/pa_unix_oss.o pa_unix_oss/pa_unix.o"; LIBS="-lm -lpthread"; + DLL_LIBS="-lm -lpthread"; PADLL="libportaudio.so"; - SHARED_FLAGS="-shared"; + SHARED_FLAGS="-rpath $libdir -version-info $LT_CURRENT:$LT_REVISION:$LT_AGE -Wl,-z,defs"; esac AC_OUTPUT([Makefile]) diff -Naur portaudio_v18_1/Makefile.in portaudio_v18_1.oden/Makefile.in --- portaudio_v18_1/Makefile.in 2005-09-15 17:14:26.000000000 +0200 +++ portaudio_v18_1.oden/Makefile.in 2005-09-15 17:14:08.000000000 +0200 @@ -4,26 +4,34 @@ # Dominic Mazzoni # +top_builddir = . PREFIX = @prefix@ +prefix = @prefix@ +exec_prefix = @exec_prefix@ +libdir = @libdir@ +includedir = @includedir@ +DESTDIR = + CC = @CC@ -CFLAGS = @CFLAGS@ -Ipa_common +CFLAGS = @CFLAGS@ -Ipa_common -Ipablio LIBS = @LIBS@ AR = @AR@ RANLIB = @RANLIB@ +LIBTOOL = @LIBTOOL@ INSTALL = @INSTALL@ SHARED_FLAGS = @SHARED_FLAGS@ -DLL_LIBS = @DLL_LIBS@ +DLL_LIBS = @DLL_LIBS@ -lpthread OTHER_OBJS = @OTHER_OBJS@ -PALIB = libportaudio.a -PADLL = @PADLL@ -PADLLV = $(PADLL).0.0.18 +PALIB = libportaudio.la PAINC = pa_common/portaudio.h COMMON_OBJS = \ pa_common/pa_convert.o \ - pa_common/pa_lib.o + pa_common/pa_lib.o \ + pablio/pablio.o \ + pablio/ringbuffer.o TESTS = \ bin/patest_buffer \ @@ -51,26 +59,25 @@ bin/patest_wire OBJS = $(COMMON_OBJS) $(OTHER_OBJS) +LTOBJS:= $(OBJS:.o=.lo) -all: lib/$(PALIB) lib/$(PADLLV) tests +all: lib/$(PALIB) tests tests: bin/ $(TESTS) -lib/$(PALIB): lib/ $(OBJS) Makefile $(PAINC) - $(AR) ruv lib/$(PALIB) $(OBJS) - $(RANLIB) lib/$(PALIB) - -lib/$(PADLLV): lib/ $(OBJS) Makefile $(PAINC) - $(CC) $(SHARED_FLAGS) -o lib/$(PADLLV) $(OBJS) $(DLL_LIBS) +lib/$(PALIB): lib/ $(LTOBJS) Makefile $(PAINC) + $(LIBTOOL) --mode=link $(CC) $(SHARED_FLAGS) -o lib/$(PALIB) $(LTOBJS) $(DLL_LIBS) $(TESTS): bin/%: lib/$(PALIB) Makefile $(PAINC) pa_tests/%.c - $(CC) -o $@ $(CFLAGS) pa_tests/$*.c lib/$(PALIB) $(LIBS) + $(LIBTOOL) --mode=link $(CC) -o $@ $(CFLAGS) pa_tests/$*.c lib/$(PALIB) $(LIBS) -install: lib/$(PALIB) lib/$(PADLLV) - $(INSTALL) -m 644 lib/$(PADLLV) $(PREFIX)/lib/$(PADLLV) - $(INSTALL) -m 644 lib/$(PALIB) $(PREFIX)/lib/$(PALIB) - cd $(PREFIX)/lib && rm -f $(PADLL) && ln -s $(PADLLV) $(PADLL) - $(INSTALL) -m 644 pa_common/portaudio.h $(PREFIX)/include/portaudio.h +install: lib/$(PALIB) + $(INSTALL) -d $(DESTDIR)$(libdir) + $(INSTALL) -d $(DESTDIR)$(includedir) + $(LIBTOOL) --mode=install $(INSTALL) lib/$(PALIB) $(DESTDIR)$(libdir) + $(INSTALL) -m 644 pa_common/portaudio.h $(DESTDIR)$(includedir) + $(INSTALL) -m 644 pablio/pablio.h $(DESTDIR)$(includedir) + $(INSTALL) -m 644 pablio/ringbuffer.h $(DESTDIR)$(includedir) @echo "" @echo "------------------------------------------------------------" @echo "PortAudio was successfully installed." @@ -78,17 +85,22 @@ @echo "On some systems (e.g. Linux) you should run 'ldconfig' now" @echo "to make the shared object available. You may also need to" @echo "modify your LD_LIBRARY_PATH environment variable to include" - @echo "the directory $(PREFIX)/lib" + @echo "the directory $(libdir)" @echo "------------------------------------------------------------" @echo "" clean: - rm -f $(OBJS) $(TESTS) lib/$(PALIB) - rm -f config.log config.status + $(LIBTOOL) --mode=clean $(RM) $(TESTS) $(LTOBJS) lib/$(PALIB) -%.o: %.c Makefile $(PAINC) +distclean: clean + $(RM) config.log config.status Makefile libtool + +%.o: %.c $(PAINC) $(CC) -c $(CFLAGS) $< -o $@ +%.lo: %.c $(PAINC) + $(LIBTOOL) --mode=compile $(CC) -c $(CFLAGS) $< -o $@ + bin: mkdir bin