pd-main/externals:
Compiled external for windows aka CYGWIN_NT-5.1
I couldn't build vorbis library, all other libs are okay.
Attached are the externals/Makefile and externals/OSCx/configure.in diff files
--- Makefile.old 2007-12-14 19:39:49.953125000 +0100 +++ Makefile 2007-12-15 04:36:08.171875000 +0100 @@ -46,7 +46,8 @@ CFLAGS = -DPD $(OPT_CFLAGS) -I$(pd_src)/src -Wall -W $(DEBUG_CFLAGS) LDFLAGS = LIBS = -lm - +CYGWIN_CFLAG = +CYGWIN_LD_FLAG = ifeq ($(OS_NAME),darwin) CFLAGS += -I/sw/include -DMACOSX -DUNIX -Dunix LDFLAGS += -bundle -bundle_loader $(pd_src)/bin/pd -L/sw/lib \ @@ -57,12 +58,17 @@ endif ifeq ($(OS_NAME),linux) CFLAGS += -DUNIX -Dunix -fPIC - LDFLAGS += -Wl,-export_dynamic -shared + LDFLAGS += -Wl,-export_dynamic -shared $(CYGWIN_CFLAG) LIBS += -lc DYLIB_LDFLAGS = $(LDFLAGS) STRIP = strip --strip-unneeded -R .note -R .comment endif ifeq ($(OS_NAME),windows) +ifeq (CYGWIN,$(findstring CYGWIN,$(UNAME))) + CYGWIN_CFLAG = -mno-cygwin -I/cygdrive/c/MinGW/include + CYGWIN_LIB = -L/cygdrive/c/MinGW/lib -mno-cygwin + LDFLAGS += -mno-cygwin +endif BUILDSRC_OS_NAME = win WINDOWS_HACKS = -D'O_NONBLOCK=1' -D'srand48(n)=srand((n))' \ -D'drand48()=((double)rand()/RAND_MAX)' -D'bzero(p,n)=memset(p,0,n)' @@ -70,12 +76,12 @@ # -D'PROT_READ=1' \ # -D'MAP_PRIVATE=2' \ # -D'O_NDELAY=O_NONBLOCK' - CFLAGS += -mms-bitfields -DMSW -DNT $(WINDOWS_HACKS) + CFLAGS += -mms-bitfields -DMSW -DNT $(WINDOWS_HACKS) $(CYGWIN_CFLAG) LDFLAGS += -shared # all of these included libs are part of libc in UNIX platforms. All except # libregex are in DLLs, so they get stripped from the external's .dll binary - LIBS += -L$(pd_src)/bin -L$(pd_src)/obj -lpd \ - -lwsock32 -lpthreadGC2 -lkernel32 -luser32 -lgdi32 -lregex + LIBS += -L$(pd_src)/bin $(CYGWIN_LIB) -L$(pd_src)/obj -lpd \ + -lwsock32 -lpthreadGC2 -lkernel32 -luser32 -lgdi32 -lregex $(CYGWIN_CFLAG) DYLIB_LDFLAGS = -shared STRIP = strip --strip-unneeded -R .note -R .comment endif @@ -85,7 +91,7 @@ ### C++ files %.$(EXTENSION): %.cpp %.$(EXTENSION): %.cc - $(CXX) $(CXXFLAGS) -o "$*.o" -c "$<" + $(CXX) $(CXXFLAGS) -o "$*.o" $(CYGWIN_CFLAG) -c "$<" $(CXX) $(LDFLAGS) -o "$*.$(EXTENSION)" "$*.o" $(LIBS) chmod a-x "$*.$(EXTENSION)" # $(STRIP) $*.$(EXTENSION) @@ -93,7 +99,7 @@
%.o: %.cpp %.o: %.cc - $(CXX) $(CXXFLAGS) -o "$*.o" -c "$<" + $(CXX) $(CXXFLAGS) -o "$*.o" $(CYGWIN_CFLAG) -c "$<"
### C files @@ -124,17 +130,17 @@ # # WARNING! this MUST be all on one line because the automatic package # building scripts rely on it being that way. -LIB_TARGETS = adaptive bassemu boids bsaylor creb cxc cyclone deprecated earplug ekext ext13 flashserver flatspace flib freeverb ggee hardware hcs iem_ambi iem_bin_ambi iemlib iemgui iem_adaptfilt iemmatrix iem_matrix iemxmlrpc iem_delay iem_roomsim iem_spec2 iem_tab jasch_lib loaders mapping markex maxlib mjlib moocow moonlib motex mrpeach msd oscx pan pdcontainer pddp pdogg pmpd sigpack smlib tkwidgets tof toxy unauthorized vbap zexy +LIB_TARGETS = adaptive bassemu boids bsaylor creb cxc cyclone deprecated earplug ekext ext13 flashserver flatspace flib freeverb ggee hardware hcs iem_ambi iem_bin_ambi iemlib iemgui iem_adaptfilt iemmatrix iem_matrix iemxmlrpc iem_delay iem_roomsim iem_spec2 iem_tab jasch_lib loaders mapping markex maxlib mjlib moocow moonlib motex mrpeach msd oscx pan pdcontainer pddp pmpd sigpack smlib tkwidgets tof toxy unauthorized vbap windowing zexy
# this is for libraries that don't compile (yet) on all platforms ifeq ($(OS_NAME),windows) LIB_TARGETS += else ifeq ($(OS_NAME),darwin) - LIB_TARGETS += hid hidio pdp pidip gem2pdp wiiremote iem16 + LIB_TARGETS += hid hidio pdp pidip gem2pdp wiiremote iem16 usbhid else # GNU/Linux, BSD, IRIX, etc. - LIB_TARGETS += hid hidio pdp pidip gem2pdp hdspm_mixer iem16 + LIB_TARGETS += hid hidio pdp pidip gem2pdp hdspm_mixer iem16 postlude endif endif
@@ -2071,6 +2077,7 @@ POSTLUDE_NAME=postlude # flib is separate, so exclude it here POSTLUDE_OBJECTS := $(wildcard $(externals_src)/postlude/[a-eg-z]*/src/*.c) +# $(externals_src)/postlude/psql/psql.c postlude: $(POSTLUDE_OBJECTS:.c=.$(EXTENSION))
postlude_install: postlude @@ -2079,8 +2086,10 @@ --author "Jamie Bullock" \ --license "GNU GPL" install -p $(POSTLUDE_OBJECTS:.c=.$(EXTENSION)) $(objectsdir)/$(POSTLUDE_NAME) + install -p $(externals_src)/postlude/dssi/doc/output~.pd \ + $(objectsdir)/$(POSTLUDE_NAME) install -d $(helpdir)/$(POSTLUDE_NAME) - install -p $(externals_src)/postlude/*/doc/help-*.pd \ + install -p $(externals_src)/postlude/*/doc/*-help.pd \ $(helpdir)/$(POSTLUDE_NAME) # install -d $(manualsdir)/$(POSTLUDE_NAME) # install -p $(externals_src)/postlude/manual.txt \ @@ -2088,8 +2097,8 @@ install -d $(readmesdir) install -p $(externals_src)/postlude/dssi/README \ $(readmesdir)/$(POSTLUDE_NAME)-dssi.txt - install -p $(externals_src)/postlude/getpatchname/README \ - $(readmesdir)/$(POSTLUDE_NAME)-getpatchname.txt + install -p $(externals_src)/postlude/psql/README \ + $(readmesdir)/$(POSTLUDE_NAME)-psql.txt install -d $(examplesdir)/$(POSTLUDE_NAME) # install -p $(externals_src)/postlude/examples/*.pd \ # $(examplesdir)/$(POSTLUDE_NAME) @@ -2439,6 +2448,44 @@
#------------------------------------------------------------------------------# +# WINDOWING +WINDOWING_NAME=windowing +WINDOWING_OBJECTS := $(wildcard $(externals_src)/windowing/*.c) +WINDOWING_SHARED := $(wildcard $(externals_src)/windowing/shared/*.c) +windowing_shared: $(WINDOWING_SHARED:.c=.o) +# $(CC) $(DYLIB_LDFLAGS) \ +# -o $(externals_src)/windowing/libwindowing.$(DYLIB_EXTENSION) \ +# $(WINDOWING_SHARED:.c=.o) + +windowing: windowing_shared $(WINDOWING_OBJECTS:.c=.$(EXTENSION)) + +windowing_install: windowing + install -d $(objectsdir)/$(WINDOWING_NAME) + $(scripts_src)/generate-libdir-metafile.sh $(objectsdir) $(WINDOWING_NAME) \ + --author "Joe Sarlo" \ + --license "GPLv2 or later" + install -p $(WINDOWING_OBJECTS:.c=.$(EXTENSION)) $(objectsdir)/$(WINDOWING_NAME) + install -d $(helpdir)/$(WINDOWING_NAME) + install -p $(externals_src)/windowing/*-help.pd \ + $(helpdir)/$(WINDOWING_NAME) +# install -d $(manualsdir)/$(WINDOWING_NAME) +# install -p $(externals_src)/windowing/manual.txt \ +# $(manualsdir)/$(WINDOWING_NAME) + install -d $(readmesdir) + install -p $(externals_src)/windowing/README \ + $(readmesdir)/$(WINDOWING_NAME).txt + install -d $(examplesdir)/$(WINDOWING_NAME) + install -p $(externals_src)/windowing/examples/*.pd \ + $(examplesdir)/$(WINDOWING_NAME) + +windowing_clean: + -rm -f -- $(WINDOWING_OBJECTS:.c=.$(EXTENSION)) + -rm -f -- $(WINDOWING_OBJECTS:.c=.o) + -rm -f -- $(externals_src)/windowing/*.bak + -rm -f -- $(externals_src)/windowing/*.*~ + + +#------------------------------------------------------------------------------# # Zexy ZEXY_NAME = zexy ZEXY_OBJECTS := $(wildcard $(externals_src)/zexy/src/[a-vxy0]*.c) \ @@ -2513,13 +2560,13 @@ pdcontainer: $(PDCONTAINER_TARGETS)
$(PDCONTAINER_TARGETS) : %.$(EXTENSION) : $(PDCONTAINER_OBJ) - $(CXX) $(LDFLAGS) -o $*.$(EXTENSION) "$*.o" $(shell ls `echo "$*.o" | sed -e s/"h_[a-z]"/"??"/g -e s/"map"/"Map"/g -e s/"set"/"Set"/g -e s/"queue"/"Queue"/g`) $(PDC_SHARED:.cpp=.o) $(LIBS) + $(CXX) $(LDFLAGS) -o $*.$(EXTENSION) "$*.o" $(shell ls `echo "$*.o" | sed -e s/"h_[a-z]"/"??"/g -e s/"map"/"Map"/g -e s/"set"/"Set"/g -e s/"queue"/"Queue"/g`) $(PDC_SHARED:.cpp=.o) $(LIBS) $(CYGWIN_CFLAG) $(STRIP) $*.$(EXTENSION) chmod 755 $*.$(EXTENSION) #rm -f -- "$*.o"
$(PDCONTAINER_OBJ) : %.o : %.cpp - $(CXX) $(CXXFLAGS) -DPDCONTAINER_SINGLE_OBJECT $(PDCONTAINER_INCLUDE) -o "$*.o" -c "$*.cpp" + $(CXX) $(CXXFLAGS) -DPDCONTAINER_SINGLE_OBJECT $(PDCONTAINER_INCLUDE) -o "$*.o" -c "$*.cpp" $(CYGWIN_CFLAG)
pdcontainer_install: pdcontainer install -d $(objectsdir)/$(PDCONTAINER_NAME) @@ -2879,13 +2926,13 @@ iemxmlrpc: $(IEMXMLRPC_TARGET)
$(IEMXMLRPC_TARGET) : $(IEMXMLRPC_SRC:.cpp=.o) $(XMLRPCPP_SRC:.cpp=.o) - $(CXX) $(LDFLAGS) -o $(IEMXMLRPC_TARGET) $(IEMXMLRPC_SRC:.cpp=.o) $(XMLRPCPP_SRC:.cpp=.o) $(LIBS) + $(CXX) $(LDFLAGS) -o $(IEMXMLRPC_TARGET) $(IEMXMLRPC_SRC:.cpp=.o) $(XMLRPCPP_SRC:.cpp=.o) $(CYGWIN_CFLAG) $(LIBS) $(STRIP) $(IEMXMLRPC_TARGET) chmod 755 $(IEMXMLRPC_TARGET) #rm -f -- "$*.o"
$(IEMXMLRPC_SRC:.cpp=.o) $(XMLRPCPP_SRC:.cpp=.o) : %.o : %.cpp - $(CXX) $(CXXFLAGS) $(IEMXMLRPC_FLAGS) -o "$*.o" -c "$*.cpp" + $(CXX) $(CXXFLAGS) $(IEMXMLRPC_FLAGS) -o "$*.o" $(CYGWIN_CFLAG) -c "$*.cpp"
iemxmlrpc_install: iemxmlrpc install -d $(objectsdir)/$(IEMXMLRPC_NAME)
# -*- Autoconf -*- # Process this file with autoconf to produce a configure script.
AC_PREREQ(2.57) AC_INIT(OSCxpd, 0.2, jdl@xdv.org) AC_CONFIG_SRCDIR([libOSC/OSC-client.h]) AC_CONFIG_HEADER([config.h])
# get system type AC_CANONICAL_HOST
# Checks for programs. AC_PROG_CC AC_PROG_LN_S # AC_PROG_CXX AC_PROG_CPP # AC_PROG_INSTALL
dnl ---------------------------------- dnl here you can see that autoconf adds "-g -02" as a default dnl these are flags for debugging, and will add extra weight dnl to you external. CFLAGS, CPPFLAGS, etc are default variables dnl ---------------------------------- echo "default flags" # echo "$CPPFLAGS" # echo "$CXXFLAGS" echo cflags "$CFLAGS" echo ldflags "$LDFLAGS"
# Checks for libraries. # FIXME: Replace `main' with a function in `-lc': AC_CHECK_LIB([c], [main]) # FIXME: Replace `main' with a function in `-lm': AC_CHECK_LIB([m], [main])
# Checks for header files. AC_HEADER_STDC AC_CHECK_HEADERS([arpa/inet.h fcntl.h netdb.h netinet/in.h stdlib.h string.h strings.h sys/file.h sys/ioctl.h sys/param.h sys/socket.h sys/time.h unistd.h sys/prctl.h])
# Checks for typedefs, structures, and compiler characteristics. AC_HEADER_STDBOOL AC_C_CONST AC_HEADER_TIME AC_TYPE_SIZE_T
# Checks for library functions. AC_FUNC_MALLOC AC_FUNC_SELECT_ARGTYPES AC_FUNC_VPRINTF AC_CHECK_FUNCS([bzero gethostbyname inet_ntoa select socket strchr]) AC_TYPE_SIGNAL
# from augusts template
dnl ------------------------------------------ dnl for each of the *-*-host's in the following, do the checking and then set your CFLAGS, CPPFLAGS and LDFLAGS dnl CFLAGS get set for C code, CPPFLAGS for c++ code. LDFLAGS is the linking flags for both c and c++ dnl ------------------------------------------
INCLUDES="-I../libOSC -I../../pd/src -I../../../pd/src -I../src" LIBOSC=libOSC.a if test -z "$GCC"; then case $host in *-*-irix*) dnl If we're on IRIX, we wanna use cc even if gcc dnl is there (unless the user has overriden us)... if test -z "$CC"; then CC=cc fi ;; sparc-sun-solaris*) CFLAGS="-xO4 -fast -w -fsimple -native -xcg92" ;; *) CFLAGS="-O" ;; esac else case $host in *86-*-linux*) CFLAGS="$CFLAGS -DUNIX -Wall -Wimplicit -Wunused -Wmissing-prototypes -O2" LDFLAGS="-Wl,-export_dynamic -shared" dnl we could test for bad glibc here, but don't pd_suffix=pd_linux LIBS="-lc -lm" ;; powerpc-*-linux*) CFLAGS="$CFLAGS -DUNIX -Wall -Wimplicit -Wunused -Wmissing-prototypes -O1" LDFLAGS="-Wl,-export_dynamic -shared" pd_suffix=pd_linux LIBS="-lc -lm" ;; *-*-linux*) CFLAGS="$CFLAGS -DUNIX -Wall -Wimplicit -Wunused -Wmissing-prototypes -O1" LDFLAGS="-Wl,-export_dynamic -shared" INCLUDES="$INCLUDES" pd_suffix=pd_linux LIBS="-L../../../pd/bin -lpd -lc -lm" ;; sparc-sun-*) echo "YOU HAVE A SPARC STATION, not setting any flags, not supported yet" ;; *-*-cygwin*) CFLAGS="$CFLAGS -mno-cygwin -Wall -Wimplicit -Wunused -Wmissing-prototypes -O3 " LDFLAGS="-Wl,-export_dynamic -shared" INCLUDES="$INCLUDES -I../../../pd/src" pd_suffix=dll LIBS="-lc -lm" ;; *-*-mingw*) CFLAGS="$CFLAGS -mms-bitfields -Wall -Wimplicit -Wunused -Wmissing-prototypes -O3 " LDFLAGS="-shared" INCLUDES="$INCLUDES -I../../../pd/src" pd_suffix=dll LIBS="-L../../../pd/bin -L../../../pd/obj -lpd -lm -lwsock32" ;; *-*-darwin*) CFLAGS="$CFLAGS -DUNIX -Wall -Wimplicit -Wunused -Wmissing-prototypes -O3 " LDFLAGS=" -bundle -bundle_loader ../../../pd/bin/pd -flat_namespace " pd_suffix=pd_darwin LIBS="-lc -lm" ;; *) dnl assume unix CFLAGS="$CFLAGS -DUNIX -Wall -Wimplicit -Wunused -Wmissing-prototypes -O1" LDFLAGS="-Wl,-export_dynamic -shared" pd_suffix=pd_linux LIBS="-lc -lm" ;; esac fi
CFLAGS="$CFLAGS $INCLUDES"
echo "Using cflags= $CFLAGS" echo "Using ldflags= $LDFLAGS" echo "Using includes= $INCLUDES"
dnl ------------------------------------------ dnl ---- add PureData includes dir dnl ---- usually /usr/local/include dnl ------------------------------------------ AC_ARG_WITH(pd_dir, [ --with-pd-dir=path pd header path (default=/usr/local/include) ], [ CPPFLAGS="$CPPFLAGS -I$withval" echo echo "pd dir is $withval" echo ])
if test $prefix == NONE; then prefix=/usr/local fi
dnl ------------------------------------------ dnl ---- check for PureData Header dnl ------------------------------------------ AC_CHECK_HEADER(m_pd.h, [have_pd_hdr=yes ], [ have_pd_hdr=no echo echo "no m_pd.h header found. try with option --with-pd-dir=/path/to/pd/src" echo exit ])
AC_SUBST(LIBOSC) AC_SUBST(pd_suffix) AC_SUBST(INCLUDES) AC_SUBST(CFLAGS)
AC_CONFIG_FILES([src/Makefile libOSC/Makefile send+dump/Makefile Makefile])
AC_OUTPUT