[PD-cvs] externals/iem/iemmatrix/src Make.config.in, NONE, 1.1 Makefile, NONE, 1.1 configure.ac, 1.9, 1.10 Makefile.in, 1.10, NONE

IOhannes m zmölnig zmoelnig at users.sourceforge.net
Fri Dec 8 19:40:38 CET 2006


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 at 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)- at LIBRARY_VERSION@.tgz

# ICCFLAGS=-march=pentiumiii -axK
LIBRARY_CFLAGS = $(IFLAGS) $(DEFS) $(BUILDLIBRARY) -DPD $(WFLAGS) @CFLAGS@ $(CFLAGS)

MAKEDEP_FLAGS = @MAKEDEP_FLAGS@
CONFIGUREFLAGS = @CONFIGUREFLAGS@

LIBS = @LIBS@





More information about the Pd-cvs mailing list