Correct URL for mingw runtime sources.

* README.win32: Correct URL for mingw runtime sources.

	* build-dll: Combine commands with &&.

	* glib.h: Map also rmdir() and hypot() for MSVCRT library.

	* makefile.cygwin.in
	* tests/makefile.cygwin.in: New DLL naming style. GCC-compiled DLLs are
 	now called *.gcc.dll, to avoid binary incompatibilities with
 	MSVC-compiled versions.

	* makefile.msc.in: Cosmetics.
This commit is contained in:
Tor Lillqvist 1999-07-12 23:11:27 +00:00
parent 4982cdbe7e
commit da87b1ac85
16 changed files with 164 additions and 40 deletions

View File

@ -1,3 +1,18 @@
1999-07-13 Tor Lillqvist <tml@iki.fi>
* README.win32: Correct URL for mingw runtime sources.
* build-dll: Combine commands with &&.
* glib.h: Map also rmdir() and hypot() for MSVCRT library.
* makefile.cygwin.in
* tests/makefile.cygwin.in: New DLL naming style. GCC-compiled DLLs are
now called *.gcc.dll, to avoid binary incompatibilities with
MSVC-compiled versions.
* makefile.msc.in: Cosmetics.
1999-07-07 Sebastian Wilhelmi <wilhelmi@ira.uka.de> 1999-07-07 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
* configure.in: Test for pthread_join rather than for * configure.in: Test for pthread_join rather than for

View File

@ -1,3 +1,18 @@
1999-07-13 Tor Lillqvist <tml@iki.fi>
* README.win32: Correct URL for mingw runtime sources.
* build-dll: Combine commands with &&.
* glib.h: Map also rmdir() and hypot() for MSVCRT library.
* makefile.cygwin.in
* tests/makefile.cygwin.in: New DLL naming style. GCC-compiled DLLs are
now called *.gcc.dll, to avoid binary incompatibilities with
MSVC-compiled versions.
* makefile.msc.in: Cosmetics.
1999-07-07 Sebastian Wilhelmi <wilhelmi@ira.uka.de> 1999-07-07 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
* configure.in: Test for pthread_join rather than for * configure.in: Test for pthread_join rather than for

View File

@ -1,3 +1,18 @@
1999-07-13 Tor Lillqvist <tml@iki.fi>
* README.win32: Correct URL for mingw runtime sources.
* build-dll: Combine commands with &&.
* glib.h: Map also rmdir() and hypot() for MSVCRT library.
* makefile.cygwin.in
* tests/makefile.cygwin.in: New DLL naming style. GCC-compiled DLLs are
now called *.gcc.dll, to avoid binary incompatibilities with
MSVC-compiled versions.
* makefile.msc.in: Cosmetics.
1999-07-07 Sebastian Wilhelmi <wilhelmi@ira.uka.de> 1999-07-07 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
* configure.in: Test for pthread_join rather than for * configure.in: Test for pthread_join rather than for

View File

@ -1,3 +1,18 @@
1999-07-13 Tor Lillqvist <tml@iki.fi>
* README.win32: Correct URL for mingw runtime sources.
* build-dll: Combine commands with &&.
* glib.h: Map also rmdir() and hypot() for MSVCRT library.
* makefile.cygwin.in
* tests/makefile.cygwin.in: New DLL naming style. GCC-compiled DLLs are
now called *.gcc.dll, to avoid binary incompatibilities with
MSVC-compiled versions.
* makefile.msc.in: Cosmetics.
1999-07-07 Sebastian Wilhelmi <wilhelmi@ira.uka.de> 1999-07-07 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
* configure.in: Test for pthread_join rather than for * configure.in: Test for pthread_join rather than for

View File

@ -1,3 +1,18 @@
1999-07-13 Tor Lillqvist <tml@iki.fi>
* README.win32: Correct URL for mingw runtime sources.
* build-dll: Combine commands with &&.
* glib.h: Map also rmdir() and hypot() for MSVCRT library.
* makefile.cygwin.in
* tests/makefile.cygwin.in: New DLL naming style. GCC-compiled DLLs are
now called *.gcc.dll, to avoid binary incompatibilities with
MSVC-compiled versions.
* makefile.msc.in: Cosmetics.
1999-07-07 Sebastian Wilhelmi <wilhelmi@ira.uka.de> 1999-07-07 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
* configure.in: Test for pthread_join rather than for * configure.in: Test for pthread_join rather than for

View File

@ -1,3 +1,18 @@
1999-07-13 Tor Lillqvist <tml@iki.fi>
* README.win32: Correct URL for mingw runtime sources.
* build-dll: Combine commands with &&.
* glib.h: Map also rmdir() and hypot() for MSVCRT library.
* makefile.cygwin.in
* tests/makefile.cygwin.in: New DLL naming style. GCC-compiled DLLs are
now called *.gcc.dll, to avoid binary incompatibilities with
MSVC-compiled versions.
* makefile.msc.in: Cosmetics.
1999-07-07 Sebastian Wilhelmi <wilhelmi@ira.uka.de> 1999-07-07 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
* configure.in: Test for pthread_join rather than for * configure.in: Test for pthread_join rather than for

View File

@ -1,3 +1,18 @@
1999-07-13 Tor Lillqvist <tml@iki.fi>
* README.win32: Correct URL for mingw runtime sources.
* build-dll: Combine commands with &&.
* glib.h: Map also rmdir() and hypot() for MSVCRT library.
* makefile.cygwin.in
* tests/makefile.cygwin.in: New DLL naming style. GCC-compiled DLLs are
now called *.gcc.dll, to avoid binary incompatibilities with
MSVC-compiled versions.
* makefile.msc.in: Cosmetics.
1999-07-07 Sebastian Wilhelmi <wilhelmi@ira.uka.de> 1999-07-07 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
* configure.in: Test for pthread_join rather than for * configure.in: Test for pthread_join rather than for

View File

@ -1,3 +1,18 @@
1999-07-13 Tor Lillqvist <tml@iki.fi>
* README.win32: Correct URL for mingw runtime sources.
* build-dll: Combine commands with &&.
* glib.h: Map also rmdir() and hypot() for MSVCRT library.
* makefile.cygwin.in
* tests/makefile.cygwin.in: New DLL naming style. GCC-compiled DLLs are
now called *.gcc.dll, to avoid binary incompatibilities with
MSVC-compiled versions.
* makefile.msc.in: Cosmetics.
1999-07-07 Sebastian Wilhelmi <wilhelmi@ira.uka.de> 1999-07-07 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
* configure.in: Test for pthread_join rather than for * configure.in: Test for pthread_join rather than for

View File

@ -122,9 +122,9 @@ accessing the fields in a stat struct as filled in by the stat and
fstat functions in the MS library will cause various interesting fstat functions in the MS library will cause various interesting
failures. failures.
You also will have to get the mingw32 source snapshot from You also will have to get the mingw32 runtime source from
http://www.geocities.com/Tokyo/Towers/6162/mingw32_980701_tar.gz (this ftp://ftp.xraylith.wisc.edu/pub/khan/gnu-win32/mingw32/runtime/source-1999-04-05.tar.gz
is the source to the "mingw32" part of Mumit Khan's egcs-1.1.2 (this is the source to the "mingw32" part of Mumit Khan's egcs-1.1.2
distribution.) Unpack it and fix the prototype and call to distribution.) Unpack it and fix the prototype and call to
__getmainargs() in init.c to include one more parameter, an int *, __getmainargs() in init.c to include one more parameter, an int *,
which should be passed the address of a zero int. Code snippets below: which should be passed the address of a zero int. Code snippets below:

View File

@ -29,11 +29,11 @@ for F in $ldargs; do
esac esac
done done
$GCC -s -mdll -mno-cygwin -Wl,--base-file,$library.base -o $dllfile $ldargs $GCC -s -mdll -mno-cygwin -Wl,--base-file,$library.base -o $dllfile $ldargs &&
$DLLTOOL --as=$AS --dllname $dllfile $defswitch --base-file $library.base --output-exp $library.exp $objs && $DLLTOOL --as=$AS --dllname $dllfile $defswitch --base-file $library.base --output-exp $library.exp $objs &&
$GCC -s -mdll -mno-cygwin -Wl,--base-file,$library.base,$library.exp -o $dllfile $ldargs $GCC -s -mdll -mno-cygwin -Wl,--base-file,$library.base,$library.exp -o $dllfile $ldargs &&
$DLLTOOL --as=$AS --dllname $dllfile $defswitch --base-file $library.base --output-exp $library.exp $objs && $DLLTOOL --as=$AS --dllname $dllfile $defswitch --base-file $library.base --output-exp $library.exp $objs &&
$GCC -mdll -mno-cygwin -Wl,$library.exp -o $dllfile $ldargs $GCC -mdll -mno-cygwin -Wl,$library.exp -o $dllfile $ldargs &&
$DLLTOOL --as=$AS --dllname $dllfile $defswitch --output-lib lib$libname.a $objs $DLLTOOL --as=$AS --dllname $dllfile $defswitch --output-lib lib$libname.a $objs
rm $library.base $library.exp 2>/dev/null rm $library.base $library.exp 2>/dev/null

2
glib.h
View File

@ -2778,10 +2778,12 @@ typedef int pid_t;
# define write _write # define write _write
# define lseek _lseek # define lseek _lseek
# define close _close # define close _close
# define rmdir _rmdir
# define pipe(phandles) _pipe (phandles, 4096, _O_BINARY) # define pipe(phandles) _pipe (phandles, 4096, _O_BINARY)
# define popen _popen # define popen _popen
# define pclose _pclose # define pclose _pclose
# define fdopen _fdopen # define fdopen _fdopen
# define hypot _hypot
# define ftruncate(fd, size) gwin_ftruncate (fd, size) # define ftruncate(fd, size) gwin_ftruncate (fd, size)
# define opendir gwin_opendir # define opendir gwin_opendir
# define readdir gwin_readdir # define readdir gwin_readdir

View File

@ -2778,10 +2778,12 @@ typedef int pid_t;
# define write _write # define write _write
# define lseek _lseek # define lseek _lseek
# define close _close # define close _close
# define rmdir _rmdir
# define pipe(phandles) _pipe (phandles, 4096, _O_BINARY) # define pipe(phandles) _pipe (phandles, 4096, _O_BINARY)
# define popen _popen # define popen _popen
# define pclose _pclose # define pclose _pclose
# define fdopen _fdopen # define fdopen _fdopen
# define hypot _hypot
# define ftruncate(fd, size) gwin_ftruncate (fd, size) # define ftruncate(fd, size) gwin_ftruncate (fd, size)
# define opendir gwin_opendir # define opendir gwin_opendir
# define readdir gwin_readdir # define readdir gwin_readdir

View File

@ -12,6 +12,10 @@ PTHREADS = ..\pthreads-snap-1999-05-30
PTHREAD_LIB = $(PTHREADS)\pthread.lib PTHREAD_LIB = $(PTHREADS)\pthread.lib
PTHREAD_INC = -I $(PTHREADS) PTHREAD_INC = -I $(PTHREADS)
################################################################
# Nothing much configurable below
!IFNDEF DEBUG !IFNDEF DEBUG
# Full optimization: # Full optimization:
OPTIMIZE = -Ox -MD OPTIMIZE = -Ox -MD
@ -22,10 +26,6 @@ OPTIMIZE = -Zi -MDd
LINKDEBUG = /debug LINKDEBUG = /debug
!ENDIF !ENDIF
################################################################
# Nothing much configurable below
# cl -? describes the options # cl -? describes the options
CC = cl -G5 -GF $(OPTIMIZE) -W3 -nologo CC = cl -G5 -GF $(OPTIMIZE) -W3 -nologo

View File

@ -31,21 +31,21 @@ GLIB_VER = @GLIB_MAJOR_VERSION@.@GLIB_MINOR_VERSION@
CFLAGS = $(OPTIMIZE) -I. -DHAVE_CONFIG_H CFLAGS = $(OPTIMIZE) -I. -DHAVE_CONFIG_H
all : \ all : \
glibconfig.h \
config.h \ config.h \
glib-$(GLIB_VER).dll \ glibconfig.h \
gthread-$(GLIB_VER).dll \ glib-$(GLIB_VER).gcc.dll \
gmodule/gmoduleconf.h \ gmodule/gmoduleconf.h \
gmodule-$(GLIB_VER).dll \ gmodule-$(GLIB_VER).gcc.dll \
gthread-$(GLIB_VER).gcc.dll \
testglib.exe \ testglib.exe \
testgmodule.exe \ testgmodule.exe \
testgdate.exe \ testgdate.exe \
testgdateparser.exe testgdateparser.exe
install : all install : all
$(INSTALL) glib-$(GLIB_VER).dll $(BIN) $(INSTALL) glib-$(GLIB_VER).gcc.dll $(BIN)
$(INSTALL) gmodule-$(GLIB_VER).dll $(BIN) $(INSTALL) gmodule-$(GLIB_VER).gcc.dll $(BIN)
$(INSTALL) gthread-$(GLIB_VER).dll $(BIN) $(INSTALL) gthread-$(GLIB_VER).gcc.dll $(BIN)
glib_OBJECTS = \ glib_OBJECTS = \
garray.o \ garray.o \
@ -77,8 +77,8 @@ glib_OBJECTS = \
gscanner.o \ gscanner.o \
gutils.o gutils.o
glib-$(GLIB_VER).dll : $(glib_OBJECTS) glib.def glib-$(GLIB_VER).gcc.dll : $(glib_OBJECTS) glib.def
./build-dll glib $(GLIB_VER) glib.def $(glib_OBJECTS) -luser32 -lwsock32 ./build-dll glib $(GLIB_VER).gcc glib.def $(glib_OBJECTS) -luser32 -lwsock32
glibconfig.h: glibconfig.h.win32 glibconfig.h: glibconfig.h.win32
$(CP) glibconfig.h.win32 glibconfig.h $(CP) glibconfig.h.win32 glibconfig.h
@ -92,8 +92,8 @@ config.h: config.h.win32
gmodule_OBJECTS = \ gmodule_OBJECTS = \
gmodule.o gmodule.o
gmodule-$(GLIB_VER).dll : $(gmodule_OBJECTS) gmodule/gmodule.def gmodule-$(GLIB_VER).gcc.dll : $(gmodule_OBJECTS) gmodule/gmodule.def
./build-dll gmodule $(GLIB_VER) gmodule/gmodule.def $(gmodule_OBJECTS) -L. -lglib-$(GLIB_VER) -lwsock32 ./build-dll gmodule $(GLIB_VER).gcc gmodule/gmodule.def $(gmodule_OBJECTS) -L. -lglib-$(GLIB_VER).gcc -lwsock32
gmodule.o : gmodule/gmodule.c gmodule/gmodule-win32.c gmodule.o : gmodule/gmodule.c gmodule/gmodule-win32.c
$(CC) $(CFLAGS) -Igmodule -c -DG_LOG_DOMAIN=g_log_domain_gmodule gmodule/gmodule.c $(CC) $(CFLAGS) -Igmodule -c -DG_LOG_DOMAIN=g_log_domain_gmodule gmodule/gmodule.c
@ -104,51 +104,51 @@ gmodule/gmoduleconf.h: gmodule/gmoduleconf.h.win32
gthread_OBJECTS = \ gthread_OBJECTS = \
gthread-impl.o gthread-impl.o
gthread-$(GLIB_VER).dll : $(gthread_OBJECTS) glib-$(GLIB_VER).dll gthread/gthread.def gthread-$(GLIB_VER).gcc.dll : $(gthread_OBJECTS) glib-$(GLIB_VER).gcc.dll gthread/gthread.def
./build-dll gthread $(GLIB_VER) gthread/gthread.def $(gthread_OBJECTS) -L. -lglib-$(GLIB_VER) $(PTHREAD_LIB) -lwsock32 ./build-dll gthread $(GLIB_VER).gcc gthread/gthread.def $(gthread_OBJECTS) -L. -lglib-$(GLIB_VER).gcc $(PTHREAD_LIB)
gthread-impl.o : gthread/gthread-impl.c gthread/gthread-posix.c gthread-impl.o : gthread/gthread-impl.c gthread/gthread-posix.c
$(CC) $(CFLAGS) $(PTHREAD_INC) -DG_LOG_DOMAIN=\"GThread\" -c gthread/gthread-impl.c $(CC) $(CFLAGS) $(PTHREAD_INC) -DG_LOG_DOMAIN=\"GThread\" -c gthread/gthread-impl.c
testglib.exe : glib-$(GLIB_VER).dll testglib.o testglib.exe : glib-$(GLIB_VER).gcc.dll testglib.o
$(CC) $(CFLAGS) -o testglib testglib.o -L. -lglib-$(GLIB_VER) $(LDFLAGS) $(CC) $(CFLAGS) -o testglib testglib.o -L. -lglib-$(GLIB_VER).gcc $(LDFLAGS)
testglib.o : testglib.c testglib.o : testglib.c
$(CC) -c $(CFLAGS) testglib.c $(CC) -c $(CFLAGS) testglib.c
testgdate.exe : glib-$(GLIB_VER).dll testgdate.o testgdate.exe : glib-$(GLIB_VER).gcc.dll testgdate.o
$(CC) $(CFLAGS) -o testgdate.exe testgdate.o -L. -lglib-$(GLIB_VER) $(LDFLAGS) $(CC) $(CFLAGS) -o testgdate.exe testgdate.o -L. -lglib-$(GLIB_VER).gcc $(LDFLAGS)
testgdate.o : testgdate.c testgdate.o : testgdate.c
$(CC) -c $(CFLAGS) testgdate.c $(CC) -c $(CFLAGS) testgdate.c
testgdateparser.exe : glib-$(GLIB_VER).dll testgdateparser.o testgdateparser.exe : glib-$(GLIB_VER).gcc.dll testgdateparser.o
$(CC) $(CFLAGS) -o testgdateparser.exe testgdateparser.o -L. -lglib-$(GLIB_VER) $(LDFLAGS) $(CC) $(CFLAGS) -o testgdateparser.exe testgdateparser.o -L. -lglib-$(GLIB_VER).gcc $(LDFLAGS)
testgdateparser.o : testgdateparser.c testgdateparser.o : testgdateparser.c
$(CC) -c $(CFLAGS) testgdateparser.c $(CC) -c $(CFLAGS) testgdateparser.c
testgmodule.exe : glib-$(GLIB_VER).dll gmodule-$(GLIB_VER).dll testgmodule.o libgplugin_a.dll libgplugin_b.dll testgmodule.exe : glib-$(GLIB_VER).gcc.dll gmodule-$(GLIB_VER).gcc.dll testgmodule.o libgplugin_a.dll libgplugin_b.dll
# Wow, do we really have to do it like this to get some symbols # Wow, do we really have to do it like this to get some symbols
# exported from a .exe? Apparently yes. Does the __declspec(dllexport) # exported from a .exe? Apparently yes. Does the __declspec(dllexport)
# actually do anything in egcs-1.1.2? # actually do anything in egcs-1.1.2?
$(CC) $(CFLAGS) -Wl,--base-file,testgmodule.base -o testgmodule.exe testgmodule.o -L. -lglib-$(GLIB_VER) -lgmodule-$(GLIB_VER) $(LDFLAGS) $(CC) $(CFLAGS) -Wl,--base-file,testgmodule.base -o testgmodule.exe testgmodule.o -L. -lglib-$(GLIB_VER).gcc -lgmodule-$(GLIB_VER).gcc $(LDFLAGS)
$(DLLTOOL) --base-file testgmodule.base --output-exp testgmodule.exp testgmodule.o $(DLLTOOL) --base-file testgmodule.base --output-exp testgmodule.exp testgmodule.o
$(CC) $(CFLAGS) -Wl,--base-file,testgmodule.base,testgmodule.exp -o testgmodule.exe testgmodule.o -L. -lglib-$(GLIB_VER) -lgmodule-$(GLIB_VER) $(LDFLAGS) $(CC) $(CFLAGS) -Wl,--base-file,testgmodule.base,testgmodule.exp -o testgmodule.exe testgmodule.o -L. -lglib-$(GLIB_VER).gcc -lgmodule-$(GLIB_VER).gcc $(LDFLAGS)
$(DLLTOOL) --base-file testgmodule.base --output-exp testgmodule.exp testgmodule.o $(DLLTOOL) --base-file testgmodule.base --output-exp testgmodule.exp testgmodule.o
$(CC) $(CFLAGS) -Wl,testgmodule.exp -o testgmodule.exe testgmodule.o -L. -lglib-$(GLIB_VER) -lgmodule-$(GLIB_VER) $(LDFLAGS) $(CC) $(CFLAGS) -Wl,testgmodule.exp -o testgmodule.exe testgmodule.o -L. -lglib-$(GLIB_VER).gcc -lgmodule-$(GLIB_VER).gcc $(LDFLAGS)
testgmodule.o : gmodule/testgmodule.c testgmodule.o : gmodule/testgmodule.c
$(CC) $(CFLAGS) -Igmodule -c gmodule/testgmodule.c $(CC) $(CFLAGS) -Igmodule -c gmodule/testgmodule.c
libgplugin_a.dll : libgplugin_a.o libgplugin_a.dll : libgplugin_a.o
./build-dll libgplugin_a - - libgplugin_a.o -L. -lglib-$(GLIB_VER) -lgmodule-$(GLIB_VER) ./build-dll libgplugin_a - - libgplugin_a.o -L. -lglib-$(GLIB_VER).gcc -lgmodule-$(GLIB_VER).gcc
libgplugin_a.o : gmodule/libgplugin_a.c libgplugin_a.o : gmodule/libgplugin_a.c
$(CC) $(CFLAGS) -Igmodule -c gmodule/libgplugin_a.c $(CC) $(CFLAGS) -Igmodule -c gmodule/libgplugin_a.c
libgplugin_b.dll : libgplugin_b.o libgplugin_b.dll : libgplugin_b.o
./build-dll libgplugin_b - - libgplugin_b.o -L. -lglib-$(GLIB_VER) -lgmodule-$(GLIB_VER) ./build-dll libgplugin_b - - libgplugin_b.o -L. -lglib-$(GLIB_VER).gcc -lgmodule-$(GLIB_VER).gcc
libgplugin_b.o : gmodule/libgplugin_b.c libgplugin_b.o : gmodule/libgplugin_b.c
$(CC) $(CFLAGS) -Igmodule -c gmodule/libgplugin_b.c $(CC) $(CFLAGS) -Igmodule -c gmodule/libgplugin_b.c

View File

@ -12,6 +12,10 @@ PTHREADS = ..\pthreads-snap-1999-05-30
PTHREAD_LIB = $(PTHREADS)\pthread.lib PTHREAD_LIB = $(PTHREADS)\pthread.lib
PTHREAD_INC = -I $(PTHREADS) PTHREAD_INC = -I $(PTHREADS)
################################################################
# Nothing much configurable below
!IFNDEF DEBUG !IFNDEF DEBUG
# Full optimization: # Full optimization:
OPTIMIZE = -Ox -MD OPTIMIZE = -Ox -MD
@ -22,10 +26,6 @@ OPTIMIZE = -Zi -MDd
LINKDEBUG = /debug LINKDEBUG = /debug
!ENDIF !ENDIF
################################################################
# Nothing much configurable below
# cl -? describes the options # cl -? describes the options
CC = cl -G5 -GF $(OPTIMIZE) -W3 -nologo CC = cl -G5 -GF $(OPTIMIZE) -W3 -nologo

View File

@ -37,7 +37,7 @@ all : $(TESTS)
.c.exe : .c.exe :
$(CC) $(CFLAGS) -c $< $(CC) $(CFLAGS) -c $<
$(CC) $(CFLAGS) -o $@ $< -L.. -lglib-$(GLIB_VER) -lgthread-$(GLIB_VER) $(CC) $(CFLAGS) -o $@ $< -L.. -lglib-$(GLIB_VER).gcc -lgthread-$(GLIB_VER).gcc
check: all check: all
@for P in $(TESTS) ; do echo $$P; ./$$P; done @for P in $(TESTS) ; do echo $$P; ./$$P; done