From 3dc2483a30234be5b3fb4cd5f1f2c515089d3e24 Mon Sep 17 00:00:00 2001 From: fcolin Date: Wed, 2 Nov 2011 16:53:03 +0000 Subject: Update to compile under MinGW --- src/Makefile.mingw | 54 ++++++++++++++++++++++++++++++++++++------------------ src/Makefile.win32 | 2 +- src/ivy.c | 7 +++++++ src/ivysocket.c | 4 ++-- 4 files changed, 46 insertions(+), 21 deletions(-) (limited to 'src') diff --git a/src/Makefile.mingw b/src/Makefile.mingw index 40ae777..3080ba7 100644 --- a/src/Makefile.mingw +++ b/src/Makefile.mingw @@ -18,8 +18,8 @@ MAJOR=3 MINOR=11 -RM=del -#RM=rm -f +#RM=del +RM=rm -f XTINC = XTLIB = GTKINC = `gtk-config --cflags` @@ -28,27 +28,44 @@ GLUTINC = -I/usr/include -I. GLUTLIB = -L. TCLINCL = -I/usr/include/tcl8.4 TCLLIB = -ltcl84 - -REGCOMP_OPT=REG_ICASE +PCREINC = $(shell pcre-config --cflags) +PCRELIB = $(shell pcre-config --libs) +#PCREINSTALLDIR = c:\temp\GnuWin32 +#PCREINC = -I$(PCREINSTALLDIR)\include +#PCRELIB = -L$(PCREINSTALLDIR)\lib -lpcre +CASESENSITIVE = "yes" +ifeq ($(CASESENSITIVE), "no") + PCRE_OPT=PCRE_CASELESS + REGCOMP_OPT=REG_ICASE +else + PCRE_OPT=0 + REGCOMP_OPT=REG_EXTENDED +endif + + +#REGEXP = -DGNU_REGEXP -DREGCOMP_OPT=$(REGCOMP_OPT) # deprecated ! +REGEXP= -DUSE_PCRE_REGEX -DPCRE_OPT=$(PCRE_OPT) TOOLS_DIR = ../tools CC=gcc -CFLAGS = -g -DREGCOMP_OPT=$(REGCOMP_OPT) +CFLAGS = -DWIN32 -DWINVER=0x0601 -D_WIN32_WINNT=0x0601 $(REGEXP) $(PCREINC) # IVY full debug -#CFLAGS = -g -DDEBUG -OBJ = ivyloop.o timer.o ivysocket.o ivy.o ivybuffer.o ivyfifo.o ivybind.o intervalRegexp.o -GOBJ = ivyloop.o timer.o ivysocket.o givy.o ivybuffer.o ivyfifo.o ivybind.o intervalRegexp.o -XTOBJ = ivyxtloop.o ivysocket.o ivy.o ivybuffer.o ivyfifo.o ivybind.o intervalRegexp.o -GLIBOBJ = ivyglibloop.o ivysocket.o ivy.o ivybuffer.o ivyfifo.o ivybind.o intervalRegexp.o -GLUTOBJ = ivyglutloop.o ivysocket.o ivy.o ivybuffer.o ivyfifo.o ivybind.o intervalRegexp.o -TCLOBJ = ivytcl.o timer.o ivysocket.o givy.o ivybuffer.o ivyfifo.o ivybind.o intervalRegexp.o +#CFLAGS = -g -DDEBUG -DWIN32 -DWINVER=0x0601 -D_WIN32_WINNT=0x0601 $(REGEXP) $(PCREINC) +OBJ = ivyloop.o timer.o ivysocket.o ivy.o ivybuffer.o ivyfifo.o ivybind.o intervalRegexp.o param.o +GOBJ = ivyloop.o timer.o ivysocket.o givy.o ivybuffer.o ivyfifo.o ivybind.o intervalRegexp.o param.o +XTOBJ = ivyxtloop.o ivysocket.o ivy.o ivybuffer.o ivyfifo.o ivybind.o intervalRegexp.o param.o +GLIBOBJ = ivyglibloop.o ivysocket.o ivy.o ivybuffer.o ivyfifo.o ivybind.o intervalRegexp.o param.o +GLUTOBJ = ivyglutloop.o ivysocket.o ivy.o ivybuffer.o ivyfifo.o ivybind.o intervalRegexp.o param.o +TCLOBJ = ivytcl.o timer.o ivysocket.o givy.o ivybuffer.o ivyfifo.o ivybind.o intervalRegexp.o param.o # not yiet ivygtkprobe ivyxtprobe need Modified Glut ivyglutprobe +# Export all variables (Petr Mejzlik) +export .c.o: $(CC) $(CFLAGS) -c $*.c -all: static-libs shared-libs +all: static-libs shared-libs tools static-libs: libivy.a libgivy.a #static-libs: libivy.a libgivy.a libtclivy.a @@ -71,7 +88,7 @@ ivygtkloop.o: ivygtkloop.c ivygtkloop.h $(CC) -c $(CFLAGS) $(GTKINC) -o ivygtkloop.o ivygtkloop.c ivyprobe: ivyprobe.o libivy.a - $(CC) $(CFLAGS) -o ivyprobe ivyprobe.o -L. -livy -lwsock32 -lregex + $(CC) $(CFLAGS) -o ivyprobe ivyprobe.o -L. -livy -lwsock32 $(PCRELIB) ivyxtprobe.o : ivyprobe.c $(CC) $(CFLAGS) -c ivyprobe.c -o ivyxtprobe.o $(XTINC) -DXTMAINLOOP @@ -116,10 +133,10 @@ libtclivy.a: $(TCLOBJ) ar cq $@ $(TCLOBJ) libivy.so.$(MAJOR).$(MINOR): $(OBJ) - $(CC) -shared -Wl,-soname,libivy.so.$(MAJOR) -o $@ $(OBJ) -lwsock32 -lregex + $(CC) -shared -Wl,-soname,libivy.so.$(MAJOR) -o $@ $(OBJ) -lws2_32 $(PCRELIB) libgivy.so.$(MAJOR).$(MINOR): $(GOBJ) - $(CC) -shared -Wl,-soname,libgivy.so.$(MAJOR) -o $@ $(GOBJ) -lwsock32 -lregex + $(CC) -shared -Wl,-soname,libgivy.so.$(MAJOR) -o $@ $(GOBJ) -lws2_32 $(PCRELIB) libxtivy.so.$(MAJOR).$(MINOR): $(XTOBJ) $(CC) -shared -Wl,-soname,libxtivy.so.$(MAJOR) -o $@ \ @@ -135,7 +152,7 @@ libglutivy.so.$(MAJOR).$(MINOR): $(GTKOBJ) libtclivy.so.$(MAJOR).$(MINOR): $(TCLOBJ) $(CC) -shared -Wl,-soname,libtclivy.so.$(MAJOR) -o $@ \ - $(TCLOBJ) $(TCLLIB) -lwsock32 -lregex + $(TCLOBJ) $(TCLLIB) -lws2_32 $(PCRELIB) clean: -$(RM) *.o *.a *.so *.so.* *~ @@ -187,7 +204,8 @@ installdocs: done install: installlibs installbins installliblinks installdocs -tools: static-libs libomp + +tools: static-libs @(cd $(TOOLS_DIR) && $(MAKE) -f Makefile.mingw) rpm:: diff --git a/src/Makefile.win32 b/src/Makefile.win32 index 865c461..eba91cc 100644 --- a/src/Makefile.win32 +++ b/src/Makefile.win32 @@ -49,7 +49,7 @@ REGEXP= /DUSE_PCRE_REGEX /DPCRE_OPT=$(PCRE_OPT) # see below CHANNEL = -DTCL_CHANNEL_INTEGRATION -OBJ = intervalRegexp.obj ivyloop.obj timer.obj ivysocket.obj ivy.obj \ +OBJ = intervalRegexp.obj ivyloop.obj timer.obj ivysocket.obj ivy.obj param.obj\ ivybuffer.obj ivyfifo.obj ivybind.obj # WINDOWS add ivyloop.obj if TCL_CHANNEL_INTEGRATION is not set diff --git a/src/ivy.c b/src/ivy.c index d784f50..a87d24e 100644 --- a/src/ivy.c +++ b/src/ivy.c @@ -28,6 +28,13 @@ #include #include #define snprintf _snprintf +#ifdef __MINGW32__ +// should be removed in when defined in MinGW include of ws2tcpip.h +extern const char * WSAAPI inet_ntop(int af, const void *src, + char *dst, socklen_t size); +extern int WSAAPI inet_pton(int af, const char *src, void *dst); + +#endif #else #include #include diff --git a/src/ivysocket.c b/src/ivysocket.c index ba1becc..a717660 100644 --- a/src/ivysocket.c +++ b/src/ivysocket.c @@ -245,7 +245,7 @@ static void HandleServer(Channel channel, IVY_HANDLE fd, void *data) #else long socketFlag; #endif - TRACE( "Accepting Connection...\n"); + TRACE( "Accepting Connection...\n", ); addrlen = sizeof (remote ); if ((ns = accept (fd, (struct sockaddr*)&remote, &addrlen)) <0) { @@ -253,7 +253,7 @@ static void HandleServer(Channel channel, IVY_HANDLE fd, void *data) return; }; - TRACE( "Accepting Connection ret\n"); + TRACE( "Accepting Connection ret\n", ); IVY_LIST_ADD_START (clients_list, client ); -- cgit v1.1