Update of /cvsroot/pure-data/externals/iem/iemmatrix/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv19278
Modified Files: configure.ac Added Files: Make.config.in Makefile Removed Files: Makefile.in Log Message: use zexy's build-system, which generates Make.config rather than Makefile directly
--- Makefile.in DELETED ---
Index: configure.ac =================================================================== RCS file: /cvsroot/pure-data/externals/iem/iemmatrix/src/configure.ac,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -d -r1.9 -r1.10 *** configure.ac 25 Jul 2006 14:11:31 -0000 1.9 --- configure.ac 8 Dec 2006 18:40:36 -0000 1.10 *************** *** 2,5 **** --- 2,6 ---- AC_INIT(iemmatrix.c)
+ dnl Checks for programs. AC_PROG_CC *************** *** 12,24 **** AC_SUBST(STRIP) AC_SUBST(STRIPFLAGS) ! AC_SUBST(IEMMATRIX_VERSION) AC_SUBST(REFERENCEPATH) AC_SUBST(PDLIBDIR) AC_SUBST(INCLUDES)
- AC_ARG_WITH(version, [ --with-version=<ver> enforce a certain iemmatrix-version (e.g. 0.1)]) AC_ARG_WITH(extension, [ --with-extension=<ext> enforce a certain extension for the dynamic library (e.g. dll)]) AC_ARG_WITH(pdpath, [ --with-pd=</path/to/pd> where to look for pd-headers and and -libs]) AC_ARG_ENABLE(PIC, [ --disable-PIC disable compilation with PIC-flag])
dnl Checks for libraries. --- 13,56 ---- AC_SUBST(STRIP) AC_SUBST(STRIPFLAGS) ! AC_SUBST(LIBRARY_NAME) ! AC_SUBST(LIBRARY_VERSION) ! AC_SUBST(BUILDLIBRARY) AC_SUBST(REFERENCEPATH) AC_SUBST(PDLIBDIR) AC_SUBST(INCLUDES) + AC_SUBST(CONFIGUREFLAGS) + + LIBRARY_NAME=${ac_unique_file%.*} + + ## store the flags passed to us + ## is there no way to get the flags without quotes? + #CONFIGUREFLAGS=${ac_configure_args} + ## and is this solution portable? time will show.... + CONFIGUREFLAGS=$(echo ${ac_configure_args} | sed "s/'//g")
AC_ARG_WITH(extension, [ --with-extension=<ext> enforce a certain extension for the dynamic library (e.g. dll)]) AC_ARG_WITH(pdpath, [ --with-pd=</path/to/pd> where to look for pd-headers and and -libs]) + AC_ARG_ENABLE(PIC, [ --disable-PIC disable compilation with PIC-flag]) + if test "x" = "x${enable_PIC}" ; then + enable_PIC="${with_PIC}" + fi + + if test "x$enable_PIC" != "xno"; then + AC_CHECK_CFLAGS([-fPIC]) + fi + + + AC_ARG_ENABLE(library,[ --disable-library split the library into single externals]) + if test "xno" != "x${enable_library}" ; then + dnl LATER: find a more generic way to generate the .._LIBRARY define + BUILDLIBRARY="-DLIBRARY" + fi + + + dnl check for "-mms-bitfields" cflag + dnl it would make things so easy: AC_CHECK_FLAG([-mms-bitfields],,) + AC_CHECK_CFLAGS([-mms-bitfields]) +
dnl Checks for libraries. *************** *** 78,100 **** fi
- dnl check for "-mms-bitfields" cflag - dnl why is there no generic compiler-check for a given flag ? - dnl it would make things so easy: AC_CHECK_FLAG([-mms-bitfields],,) - AC_MSG_CHECKING("ms-bitfields") - cat > conftest.c << EOF - int main(){ - return 0; - } - EOF - if ${CC} ${INCLUDES} ${DFLAGS} -o conftest.o conftest.c ${CFLAGS} -mms-bitfields > /dev/null 2>&1 - then - echo "yes" - CFLAGS="${CFLAGS} -mms-bitfields" - else - echo "no" - fi - - -
dnl isn't there a better way to check for good linker/stripper ? --- 110,113 ---- *************** *** 118,160 ****
dnl if we don't have $STRIP set, we set it to ${host}-strip or strip ! AC_CHECK_TOOL([STRIP], [strip], [true]) ! AC_MSG_CHECKING([if strip is GNU strip]) ! if $STRIP -V 2>&1 | grep GNU > /dev/null ! then ! AC_SUBST(STRIPFLAGS, "--strip-unneeded") ! AC_MSG_RESULT([yes]) ! else ! AC_SUBST(STRIPFLAGS,"-x") ! AC_MSG_RESULT([no]) ! fi ! ! DFLAGS="" ! ! ! if test "x$enable_PIC" != "xno"; then ! AC_MSG_CHECKING("PIC") ! cat > conftest.c << EOF ! int main(){ ! return 0; ! } ! EOF ! if ${CC} ${INCLUDES} ${DFLAGS} -o conftest.o conftest.c ${CFLAGS} -fPIC > /dev/null 2>&1 then ! echo "yes" ! CFLAGS="${CFLAGS} -fPIC" ! else ! echo "no" ! fi fi
dnl ! dnl OK, checks for machines are here now dnl if test `uname -s` = Linux; then - LFLAGS="-export_dynamic -shared" - CFLAGS="$CFLAGS" EXT=pd_linux fi
--- 131,172 ----
dnl if we don't have $STRIP set, we set it to ${host}-strip or strip ! if test "x$STRIP" = "x" then ! if test "x$host" != "x" ! then ! STRIP=${host}-strip ! if $(which ${host}-strip > /dev/null) ! then ! : ! else ! STRIP="echo fake strip" ! fi ! else ! STRIP=strip ! fi fi + dnl STRIP=${STRIP:=strip}
dnl ! dnl OK, checks which machines are here now ! dnl this needs some rethinking when cross-compiling (?) dnl + AC_CHECK_LDFLAGS([-export_dynamic -shared]) + if test `uname -s` = Linux; then EXT=pd_linux + STRIPFLAGS="--strip-unneeded" + if test "$enable_icc" = "yes"; then + CC=icc + fi + + if test $CC = "icc" + then + LD=$CC + AC_CHECK_LDFLAGS([-ip -ipo_obj]) + AC_CHECK_CFLAGS([-ip -ipo_obj]) + fi fi
*************** *** 163,200 **** if test `uname -s` = Darwin; then ! LD=cc ! LFLAGS="-bundle -undefined suppress -flat_namespace" EXT=pd_darwin fi
! if test `uname | sed -e 's/^MINGW.*/NT/'` = NT; then ! LD=gcc ! INCLUDES="-I@prefix@/src" ! DFLAGS="-D__WIN32__" ! LFLAGS="-shared @prefix@/bin/pd.dll" EXT=dll - else - PDLIBDIR="/lib/pd" fi
if test `uname -s` = IRIX64; then ! LFLAGS="-n32 -DUNIX -DIRIX -DN32 -woff 1080,1064,1185 \ -OPT:roundoff=3 -OPT:IEEE_arithmetic=3 -OPT:cray_ivdep=true \ -shared -rdata_shared" EXT=pd_irix6 dnl DFLAGS="-DUNIX -DIRIX6" fi
if test `uname -s` = IRIX32; then ! LFLAGS="-o32 -DUNIX -DIRIX -O2 -shared -rdata_shared" EXT=pd_irix5 dnl DFLAGS="-DUNIX -DIRIX5" fi
- if test "x$with_extension" != "x" then --- 175,239 ---- if test `uname -s` = Darwin; then ! LD=${CC} EXT=pd_darwin + STRIP="echo faking strip" + STRIPFLAGS= + + if test "$enable_lpt" = "yes"; then + AC_MSG_ERROR("lpt not supported on this platform"); + fi + if test "$enable_lpt" = ""; then + AC_MSG_WARN("lpt not supported on this platform - disabling"); + enable_lpt="no"; + fi fi
! #AC_CHECK_LDFLAGS([-dynamiclib -mmacosx-version-min=10.3 -undefined dynamic_lookup], ! # , ! AC_CHECK_LDFLAGS([-bundle -undefined suppress -flat_namespace]) ! # ) ! ! if test `uname | sed -e 's/^MINGW.*/NT/'` = NT ; then ! LD=${CC} ! # LDFLAGS="-shared pd.dll" EXT=dll fi
+ AC_CHECK_LDFLAGS([-shared pd.dll]) + if test `uname -s` = IRIX64; then ! LDFLAGS="-n32 -DUNIX -DIRIX -DN32 -woff 1080,1064,1185 \ -OPT:roundoff=3 -OPT:IEEE_arithmetic=3 -OPT:cray_ivdep=true \ -shared -rdata_shared" EXT=pd_irix6 dnl DFLAGS="-DUNIX -DIRIX6" + STRIPFLAGS="--strip-unneeded" + if test "$enable_lpt" = "yes"; then + AC_MSG_ERROR("lpt not supported on this platform"); + fi + if test "$enable_lpt" = ""; then + AC_MSG_WARN("lpt not supported on this platform - disabling"); + enable_lpt="no"; + fi fi
if test `uname -s` = IRIX32; then ! LDFLAGS="-o32 -DUNIX -DIRIX -O2 -shared -rdata_shared" EXT=pd_irix5 dnl DFLAGS="-DUNIX -DIRIX5" + STRIPFLAGS="--strip-unneeded" + if test "$enable_lpt" = "yes"; then + AC_MSG_ERROR("lpt not supported on this platform"); + fi + if test "$enable_lpt" = ""; then + AC_MSG_WARN("lpt not supported on this platform - disabling"); + enable_lpt="no"; + fi fi
if test "x$with_extension" != "x" then *************** *** 202,212 **** fi
! dnl check for iemmatrix-version (but why...) ! AC_MSG_CHECKING("iemmatrix-version")
if test "$with_version" != "" then echo -n "($with_version)... " ! IEMMATRIX_VERSION="$with_version" else
--- 241,251 ---- fi
! dnl check for ${LIBRARY_NAME}-version (but why...) ! AC_MSG_CHECKING("library version")
if test "$with_version" != "" then echo -n "($with_version)... " ! LIBRARY_VERSION="$with_version" else
*************** *** 215,219 **** cat > conftest.c << EOF #include <stdio.h> ! #include "iemmatrix.h" int main(){ printf("%s\n", VERSION); --- 254,258 ---- cat > conftest.c << EOF #include <stdio.h> ! #include "${LIBRARY_NAME}.h" int main(){ printf("%s\n", VERSION); *************** *** 222,240 **** EOF
! if $CC $INCLUDES -o conftest.o conftest.c > /dev/null 2>&1 then ! IEMMATRIX_VERSION=`./conftest.o` ! echo "$IEMMATRIX_VERSION" else ! IEMMATRIX_VERSION="" echo "(unknown)" fi else ! IEMMATRIX_VERSION="X" echo "(X)" fi fi
! AC_OUTPUT(Makefile)
! rm -f conftest.* --- 261,280 ---- EOF
! if ${CC} ${INCLUDES} -o conftest.o conftest.c > /dev/null 2>&1 then ! LIBRARY_VERSION=`./conftest.o` ! echo "$LIBRARY_VERSION" else ! LIBRARY_VERSION="" echo "(unknown)" fi else ! LIBRARY_VERSION="X" echo "(X)" fi fi
! LFLAGS=${LDFLAGS} ! AC_OUTPUT(Make.config)
! dnl rm -f conftest.*
--- NEW FILE: Makefile --- default: all
.PHONEY: default all everything dist \ clean realclean distclean \ install install-bin install-doc install-abs \ tests
-include Make.config
TESTDIR=../tests
HELPERSOURCES=$(LIBRARY_NAME)_sources.c $(LIBRARY_NAME).c
OBJECTSOURCES=$(sort $(filter-out $(HELPERSOURCES), $(filter %.c, $(wildcard *.c))))
SOURCES=$(OBJECTSOURCES) $(HELPERSOURCES)
configure: configure.ac aclocal.m4 autoconf
aclocal.m4: acinclude.m4 aclocal
Make.config: Make.config.in configure ./configure $(CONFIGUREFLAGS)
$(LIBRARY_NAME)_sources.c $(LIBRARY_NAME)_sources.h: ./makesource.sh
-include $(SOURCES:.c=.d)
## 2nd only generate depend-files when we have Make.config included ## and thus MAKEDEP_FLAGS defined ifdef MAKEDEP_FLAGS ## dependencies: as proposed by the GNU-make documentation ## see http://www.gnu.org/software/make/manual/html_node/make_47.html#SEC51 %.d: %.c @set -e; rm -f $@; \ $(CPP) $(MAKEDEP_FLAGS) $(LIBRARY_CFLAGS) $< > $@.$$$$; \ sed 's,($*).o[ :]*,\1.o $@ : ,g' < $@.$$$$ > $@; \ rm -f $@.$$$$ endif
.SUFFIXES: .$(EXT)
TARGETS = $(SOURCES:.c=.o)
OBJECTS = $(OBJECTSOURCES:.c=.$(EXT))
## if $(BUILDLIBRARY) is defined, we build everything as a single library ## else we build separate externals ifneq "$(BUILDLIBRARY)" "" all: $(LIBRARY_NAME) cp $(LIBRARY_NAME).$(EXT) .. else all: $(OBJECTS) endif
$(OBJECTS): %.$(EXT) : %.o $(LD) $(LFLAGS) -o $@ $*.o $(LIBS) $(STRIP) $(STRIPFLAGS) $@
$(LIBRARY_NAME): $(TARGETS) $(LIBRARY_NAME)_sources.c $(LIBRARY_NAME)_sources.h $(LD) $(LFLAGS) -o $@.$(EXT) *.o $(LIBS) $(STRIP) $(STRIPFLAGS) $@.$(EXT)
$(TARGETS): %.o : %.c $(CC) $(LIBRARY_CFLAGS) -c -o $@ $*.c
externals: $(OBJECTS)
clean: -rm -f *.$(EXT) *.o
realclean: clean -rm -f *~ _* config.* -rm -f *.d *.d.*
distclean: realclean -rm -f Make.config ../*.$(EXT) -rm -f $(LIBRARY_NAME).exp $(LIBRARY_NAME).lib $(LIBRARY_NAME).ncb \ $(LIBRARY_NAME).opt $(LIBRARY_NAME).plg -rm -rf autom4te.cache/
tests: all make -C $(TESTDIR)
install: install-bin install-doc install-abs
install-bin: -install -d $(INSTALL_BIN) -install -m 644 $(LIBRARY_NAME).$(EXT) $(INSTALL_BIN)
install-doc: -install -d $(INSTALL_DOC) -install -m 644 ../doc/*.pd $(INSTALL_DOC)
install-abs: -install -d $(INSTALL_BIN) -install -m 644 ../abs/*.pd $(INSTALL_BIN)
dist: all realclean (cd ../..;tar czvf $(TARNAME) $(LIBRARY_NAME))
everything: clean all install distclean
--- NEW FILE: Make.config.in --- LIBRARY_NAME=@LIBRARY_NAME@
# when build as a library this holds a pre-processor define # (e.g. "-DZEXY_LIBRARY") # when build as single externals this is empty BUILDLIBRARY =@BUILDLIBRARY@
PREFIX =@prefix@@PDLIBDIR@
INSTALL_BIN=$(DESTDIR)$(PREFIX)/lib/pd/extra INSTALL_DOC=$(DESTDIR)$(PREFIX)/lib/pd/@REFERENCEPATH@$(LIBRARY_NAME)
EXT = @EXT@ DEFS = @DFLAGS@ IFLAGS = -I. @INCLUDES@
CC = @CC@ LD = @LD@ STRIP = @STRIP@ STRIPFLAGS= @STRIPFLAGS@
AFLAGS = LFLAGS = @LFLAGS@ WFLAGS =
TARNAME = $(LIBRARY_NAME)-@LIBRARY_VERSION@.tgz
# ICCFLAGS=-march=pentiumiii -axK LIBRARY_CFLAGS = $(IFLAGS) $(DEFS) $(BUILDLIBRARY) -DPD $(WFLAGS) @CFLAGS@ $(CFLAGS)
MAKEDEP_FLAGS = @MAKEDEP_FLAGS@ CONFIGUREFLAGS = @CONFIGUREFLAGS@
LIBS = @LIBS@