build: Drop nmake/MSC build system for GLib

It hasn’t been seriously maintained for the best part of 10 years and is
very outdated. The recommended way to build GLib on Windows is now
Visual Studio:

https://wiki.gnome.org/Projects/GTK%2B/Win32/MSVCCompilationOfGTKStack#GLib

Signed-off-by: Philip Withnall <withnall@endlessm.com>

https://bugzilla.gnome.org/show_bug.cgi?id=722047
This commit is contained in:
Philip Withnall 2017-07-03 11:30:08 +01:00
parent 1d3210a8ab
commit a131134918
33 changed files with 2 additions and 1439 deletions

View File

@ -49,7 +49,6 @@ EXTRA_DIST += \
glib-tap.mk \
tap-driver.sh \
tap-test \
makefile.msc \
msvc_recommended_pragmas.h \
config.h.win32.in \
po/po2tbl.sed.in \

View File

@ -6,8 +6,7 @@ fashion. Lots of information here might be misleading or outdated. You
have been warned.
The general parts, and the section about gcc and autoconfiscated
build, and about a Visual Studio build are by Tor Lillqvist. The
sections about MSVC build with NMAKE is by Hans Breuer.
build, and about a Visual Studio build are by Tor Lillqvist.
General
=======
@ -201,184 +200,4 @@ $python win32/setup.py --perl path_to_your_perl.exe
for more usage on this script, run
$python win32/setup.py -h/--help
Building with MSVC and NMAKE
============================
If you are building from a GIT snapshot, you will not have all
makefile.msc files. You should copy the corresponding makefile.msc.in
file to that name, and replace any @...@ strings with the correct
value (or use the python script de-in.py from http://hans.breuer.org/gtk/de-in.py).
This is done automatically when an official GLib source distribution
package is built, so if you get GLib from a source distribution
package, there should be makefile.msc files ready to use (possibly after some
editing).
The hand-written makefile.msc files, and the stuff in the "build"
subdirectory, produce DLLs and import libraries that match what the
so-called autoconfiscated build produces.
All the MSVC makefiles are for the command line build with nmake. If
you want to use the VC-UI you can simply create wrapper .dsp makefiles
(read the VC docs how to do so).
Some modules may require Perl to auto-generate files. The goal (at
least Hans's) is to not require any more tools. Of course you need
the Microsoft Platform SDK in a recent enough - but not too recent - version.
The last PSDK for Visual Studio 6 is:
http://www.microsoft.com/msdownload/platformsdk/sdkupdate/psdk-full.htm
At least install the Core SDK, maybe also the "Tablet PC SDK".
Build with:
nmake -f makefile.msc
or
nmake -f makefile.msc DEBUG=1
[
The former will create 'release' versions of the DLLs. If you
plan to distribute you DLLs please use this command. The latter
will create DLLs with debug information _and_ link them with
msvcrtd.dll instead of msvcrt.dll.
Beware: There are known problems with mixing DLLs in one
application, which are build against different runtimes.
Especially the index-to-file mapping used by 'unix-style' file
operation - _open() _pipe() etc. - breaks sometimes in strange
ways (for example the Gimp plug-in communication).
]
Required libraries (not build from svn)
------------------
libintl (gnu-intl),
are available pre-built from the website mentioned above.
Versioning
----------
Instead of the Unix and auto* way of tracking versions and resolving
dependencies (configure; make; make install) involving autoconf,
automake, libtool and friends the MSVC build uses a different
approach.
The core of it's versioning is the file build/win32/module.defs.
It contains entries of the form MODULE_VER, e.g.:
GLIB_VER = 2.0
LIBICONV_VER = 1.3
and the placement of these modules defined as MODULE, e.g.:
GLIB = $(TOP)/glib
LIBICONV = $(TOP)/libiconv-$(LIBICONV_VER)
whereas TOP is defined as the relative path from the respective
module directory to your top build directory. Every makefile.msc
needs to define TOP before including the common make file part
make.msc, which than includes module.defs, like:
TOP = ../..
!INCLUDE $(TOP)/glib/build/win32/make.msc
(Taken from gtk+/gdk/makefile.msc)
With this provision it is possible to create almost placement
independent makefiles without requiring to 'install' the libraries and
headers into a common place (as it is done on Unix, and as Tor does
when producing his zipfiles with prebuilt GLib, GTK+ etc).
Special Files
-------------
config.h.win32.in : @XXX_MAJOR_VERSION@ needs to be replaced by
the current version/build number. The resulting file is to be saved
as 'config.h.win32'. This should be automatically done if a package
gets build on the Unix platform.
makefile.msc.in : @XXX_MAJOR_VERSION@ to be replaced. Save as
makefile.msc.
<module>.def : every function which should be used from the outside of
a dll needs to be marked for 'export'. It is common that one needs to change
these files after some api changes occured. If there are variables to be
exported another mechanism is needed, like :
#ifdef G_OS_WIN32
# ifdef GDK_COMPILATION
# define GDKVAR __declspec(dllexport)
# else
# define GDKVAR extern __declspec(dllimport)
# endif
#else
# define GDKVAR extern
#endif
Directory Structure
-------------------
all modules should be build in a common directory tree otherwise you
need to adapt the file 'module.defs'. They are listed here in increasing
dependencies order.
<common rootdir without spaces>
|
+- glib
| |
| +- build : [this module lives in the SVN root dir]
| | +- win32
| | .\module.defs : defines (relative) locations of the headers
| | and libs and version numbers to be include
| | in dll names
| | .\make.msc : include by almost every 'makefile.msc'
| |
| | .\README.WIN32 : more information how to build
| | .\glibconfig.h.win32.in : similar to config.h.win32.in
| | .\makefile.msc : master makefile, sub dir makefiles should work
| |
| +- glib
| +- gmodule
| +- gthread : does _not_ depend on pthread anymore
| +- gobject
|
+- pango
| +- pango : 'native' build does not require extra libs and
| | includes the minimal required text renderer
| | (there is also a currently slightly broken FreeType2
| | based implementation for win32)
| +- modules (not yet build)
|
+- atk
| +- atk
| .\makefile.msc : build here
|
+- gtk+
| | .\config.h.win32 : for all the below
| |
| +- gdk-pixbuf
| | .\gdk_pixbuf.rc.in : version resource for the DLLs. Needs
| | to be converted (filled with version info)
| | as described above.
| |
| +- gdk
| | | .\makefile.msc : some auto-generation is needed to build in the
| | | in the subdirectory
| | +- win32
| |
| +- gtk
|
+- gimp
| .\makefile.msc : master makefile to build The Gimp. The makefiles
| from the sub dirs should work stand alone, but than
| the user needs to know the build order
|
+- dia : additionally depends on libart_lgpl (in SVN)
| and libxml2 ( see http://www.xmlsoft.org/ )
+- lib
+- app
+- objects
+- plug-ins
+- python
[1]: https://wiki.gnome.org/Projects/GTK%2B/Win32/MSVCCompilationOfGTKStack under "Preparations"

View File

@ -1,6 +1,2 @@
SUBDIRS = \
dirent
EXTRA_DIST = \
make.msc \
module.defs

View File

@ -3,7 +3,6 @@ EXTRA_DIST = \
dirent.c \
dirent.h \
wdirent.c \
makefile.msc \
dirent-zip

View File

@ -1,16 +0,0 @@
TOP = ..\..\..\..
!INCLUDE $(TOP)\glib\build\win32\make.msc
dirent_OBJECTS = dirent.obj wdirent.obj
INCLUDES = -I.
all : dirent.lib
dirent.lib : $(dirent_OBJECTS)
lib /out:dirent.lib /nodefaultlib $(dirent_OBJECTS)
clean::
del /f $(dirent_OBJECTS)
del /f dirent.lib

View File

@ -1,237 +0,0 @@
# Note that this file is hardly maintained, hardly usable without
# manual editing, and not really part of a recommended way to build
# GLib and related software with Microsoft's compilers. Only a few
# persons use a build setup that involves this file.
# Common makefile definitions for building GLib, GTk+, and various
# software that use these libraries with msvc on Win32
# Debug builds shoud link with msvcrtd release build with msvcrt.
!IFNDEF DEBUG
# Full optimization:
OPTIMIZE = -Ox
# release with debug
OPTIMIZE = -Zi -DG_ENABLE_DEBUG=1
CRUNTIME = -MD
LINKDEBUG = /OPT:REF
!ELSE
# Debugging:
OPTIMIZE =
CRUNTIME = -MDd
DEBUGINFO = -Zi -DG_ENABLE_DEBUG=1
LINKDEBUG = /debug /nodefaultlib:msvcrt.lib
!ENDIF
LDFLAGS = /link /machine:ix86 $(LINKDEBUG)
!IFNDEF TOP
TOP = ..
!ENDIF
!IFNDEF PERL
PERL = perl
!ENDIF
XSLTPROC = d:\gnome-0\xsltproc
# paths and version numbers
!INCLUDE $(TOP)\glib\build\win32\module.defs
################
# CFLAGS and LIBS for the packages in module.defs.
# In alphabetical order.
# Note that these CFLAGS and LIBS refer to stuff in "source"
# directories. This is for historical reasons, and only useable if you
# have the GLib, Pango, etc sources. If you use the prebuilt developer
# packages, you should fix these to instead refer to the place where
# you unzipped the developer packages. Easiest of all, run pkg-config
# --cflags gtk+-2.0 (for instance), and paste its output as the
# definition of GTK2_CFLAGS. Etc.
ATK_CFLAGS = -I $(ATK)
ATK_LIBS = $(ATK)\atk\atk-$(ATK_VER).lib
BABL_CFLAGS = -I $(BABL)
BABL_LIBS = $(BABL)\babl\babl-1.0.lib
# force inclusion of the _right_ cairoversion.h even when using without installation
CAIRO_CFLAGS = -FI $(CAIRO)\cairo-version.h -I $(CAIRO)\src -I $(CAIRO)
CAIRO_LIBS = $(CAIRO)\src\libcairo.lib
DIRENT_CFLAGS = -I $(GLIB)\build\win32\dirent
DIRENT_LIBS = $(GLIB)\build\win32\dirent\dirent.lib
!IFNDEF EXIF
EXIF_CFLAGS = -I $(DEVTOP)\include
EXIF_LIBS = $(DEVTOP)\lib\exif.lib
EXIF = 1
!ENDIF
# Don't know if Freetype2, FriBiDi and some others actually can be
# built with MSVC, but one can produce an import library even if the
# DLL was built with gcc.
!IFDEF FREETYPE2
FREETYPE2_CFLAGS = -I $(FREETYPE2)\include
FREETYPE2_LIBS = $(FREETYPE2)\obj\freetype-$(FREETYPE2_VER).lib
!ELSE
FREETYPE2_CFLAGS = -I $(DEVTOP)\include -I $(DEVTOP)\include\freetype2
FREETYPE2_LIBS = $(DEVTOP)\lib\freetype6.lib
!ENDIF
!IFNDEF FONTCONFIG
FONTCONFIG_CFLAGS = -I $(DEVTOP)\include
FONTCONFIG_LIBS = $(DEVTOP)\lib\fontconfig.lib
!ENDIF
GDK_PIXBUF_CFLAGS = -I $(GDK_PIXBUF)
GDK_PIXBUF_LIBS = $(GTK2)\gdk-pixbuf\gdk_pixbuf-$(GDK_PIXBUF_VER).lib
GIMP_CFLAGS = -I $(GIMP)
GIMP_PLUGIN_LIBS = $(GIMP)\libgimp\gimp-$(GIMP_VER).lib $(GIMP)\libgimp\gimpui-$(GIMP_VER).lib
# overide definition to use it as callable path
GLIB = $(TOP)\glib
GLIB_CFLAGS = -I $(GLIB) -I $(GLIB)\glib -I $(GLIB)\gmodule $(INTL_CFLAGS)
GLIB_LIBS = $(GLIB)\glib\glib-$(GLIB_VER).lib $(GLIB)\gmodule\gmodule-$(GLIB_VER).lib $(GLIB)\gobject\gobject-$(GLIB_VER).lib $(GLIB)\gio\gio-$(GLIB_VER).lib
GTHREAD_LIBS = $(GLIB)\gthread\gthread-$(GLIB_VER).lib
!IFNDEF GDK_PIXBUF
GDK_PIXBUF_CFLAGS = $(GTK2_CFLAGS)
GDK_PIXBUF_LIBS = $(GTK2_LIBS)
!ENDIF
GNOMECANVAS_CFLAGS = -I $(GNOMECANVAS)
GNOMECANVAS_LIBS = $(GNOMECANVAS)\libgnomecanvas\libgnomecanvas-$(GNOMECANVAS_VER).lib
GNOMEPRINT_CFLAGS = -I $(GNOMEPRINT)
GNOMEPRINT_LIBS = $(GNOMEPRINT)\libgnomeprint\gnome-print-$(GNOMEPRINT_VER).lib
GNOMEPRINTUI_CFLAGS = -I $(GNOMEPRINTUI)
GNOMEPRINTUI_LIBS = $(GNOMEPRINTUI)\libgnomeprintui\gnome-printui-$(GNOMEPRINTUI_VER).lib
GTK_CFLAGS = -I$(GTK)\gdk -I$(GTK)\gdk -I$(GTK)
GTK_LIBS = $(GTK)\gtk\gtk.lib $(GTK)\gdk\gdk.lib
GTK2_CFLAGS = $(GLIB_CFLAGS) $(ATK_CFLAGS) -I$(GTK2)\gdk -I$(GTK2)\gdk -I$(GTK2) -I$(PANGO) -I$(ATK) $(CAIRO_CFLAGS)
GTK2_LIBS = $(GTK2)\gtk\gtk-win32-$(GTK2_VER).lib $(GTK2)\gdk\gdk-win32-$(GTK2_VER).lib $(GTK2)\gdk-pixbuf\gdk_pixbuf-$(GTK2_VER).lib $(PANGO_LIBS)
GTKGLAREA_CFLAGS = -I $(GTKGLAREA)
GTKGLAREA_LIBS = $(GTKGLAREA)\gtkgl\gtkgl-$(GTKGLAREA_VER).lib
GTKSOURCEVIEW_CFLAGS = -I $(GTKSOURCEVIEW)
GTKSOURCEVIEW_LIBS = $(GTKSOURCEVIEW)\gtksourceview\gtksourceview.lib
LIBART_CFLAGS = -I$(LIBART)\.. -FIlibart_lgpl/art_config.h
LIBART_LIBS = $(LIBART)\art_lgpl_2.lib
!IFNDEF INTL
INTL_CFLAGS = -I $(DEVTOP)\include
INTL_LIBS = $(DEVTOP)\lib\intl.lib
!ELSE
INTL_CFLAGS = -I $(INTL)
INTL_LIBS = $(INTL)\intl.lib
!ENDIF
!IFDEF LCMS
LCMS_CFLAGS = -DLCMS_DLL -I $(LCMS)\include
LCMS_LIBS = $(LCMS)\Projects\VC6\Release\lcms.lib
!ENDIF
LIBICONV_CFLAGS = -I $(LIBICONV)\include
LIBICONV_LIBS = $(LIBICONV)\lib\iconv.lib
LIBXML_CFLAGS = -I $(LIBXML)
LIBXML_LIBS = $(LIBXML)\xml-$(LIBXML_VER).lib
LIBXML2_CFLAGS = $(LIBICONV_CFLAGS) -I $(LIBXML2)\include
LIBXML2_LIBS = $(LIBXML2)\libxml2.lib
LIBXSLT_CFLAGS = -I $(LIBXSLT)
LIBXSLT_LIBS = $(LIBXSLT)\libxslt\libxslt.lib
LCMS_CFLAGS = -I $(LCMS)\include -DLCMS_DLL
LCMS_LIBS = $(LCMS)\Projects\VC6\Release\lcms.lib
!IFNDEF JPEG
JPEG_CFLAGS = -I $(DEVTOP)\include
JPEG_LIBS = $(DEVTOP)\lib\jpeg.lib
!ELSE
JPEG_CFLAGS = -I $(JPEG)
JPEG_LIBS = $(JPEG)\libjpeg.lib
!ENDIF
OPENGL_CFLAGS = # None needed, headers bundled with the compiler
OPENGL_LIBS = opengl32.lib lglu32.lib
PANGO_CFLAGS = -I $(PANGO)
PANGO_LIBS = $(PANGO)\pango\pango-$(PANGO_VER).lib
PANGOCAIRO_LIBS = $(PANGO_LIBS) $(PANGO)\pango\pangocairo-$(PANGO_VER).lib
PANGOWIN32_LIBS = $(PANGO_LIBS) $(PANGO)\pango\pangowin32-$(PANGO_VER).lib
PANGOFT2_LIBS = $(PANGO_LIBS) $(PANGO)\pango\pangoft2-$(PANGO_VER).lib
!IFDEF PNG
PNG_CFLAGS = -I $(PNG) $(ZLIB_CFLAGS)
PNG_LIBS = $(PNG)\projects\visualc6\Win32_LIB_Release\libpng.lib $(ZLIB_LIBS)
!ELSE
PNG_CFLAGS = -I $(DEVTOP)\include $(ZLIB_CFLAGS)
PNG_LIBS = $(DEVTOP)\lib\libpng.lib $(ZLIB_LIBS)
!ENDIF
RSVG_CFLAGS = -I $(RSVG)\..
RSVG_LIBS = $(RSVG)\librsvg-2.lib
SVG_CFLAGS = -I $(SVG)\src
SVG_LIBS = $(SVG)\src\libsvg-$(SVG_VER).lib
!IFDEF TIFF
TIFF_CFLAGS = -I $(TIFF)\libtiff
# Use single import library for both libtiff DLL versions (with or
# without LZW code). The user selects which DLL to use.
TIFF_LIBS = $(TIFF)\libtiff\libtiff.lib $(JPEG_LIBS) $(ZLIB_LIBS) user32.lib
!ELSE
TIFF_CFLAGS = -I $(DEVTOP)\include
TIFF_LIBS = $(DEVTOP)\lib\libtiff.lib
!ENDIF
VIPS_CFLAGS = -I $(VIPS)/include
VIPS_LIBS = $(VIPS)/libsrc/vips.lib
!IFDEF ZLIB
ZLIB_CFLAGS = -I $(ZLIB)
ZLIB_LIBS = $(ZLIB)\projects\visualc6\Win32_LIB_Release\zlib.lib
!ELSE
ZLIB_CFLAGS = -I $(DEVTOP)\include
ZLIB_LIBS = $(DEVTOP)\lib\zdll.lib
!ENDIF
################
# Compiler to use.
CCOMPILER = cl
CC = $(CCOMPILER) $(OPTIMIZE) $(CRUNTIME) -W3 -nologo
################
# The including makefile should define INCLUDES, DEFINES and
# DEPCFLAGS. INCLUDES are the includes related to the module being
# built. DEFINES similarly. DEPCFLAGS should be set to a set of
# GLIB_CFLAGS, GTK_CFLAGS etc corresponding to what other modules we
# depend on.
CFLAGS = $(OPTIMIZE) $(DEBUGINFO) $(INCLUDES) $(DEFINES) $(DEPCFLAGS)
# make cl/wcl386 compatible (c99 and cdecl)
#OPTIMIZE = -Ox
#CFLAGS = /passwopts:-za99 /passwopts:-ecc $(DEBUGINFO) $(INCLUDES) $(DEFINES) $(DEPCFLAGS)
.c.i :
$(CC) $(CFLAGS) -E $< >$@
# The default target should be "all"
default: all
clean::
-del *.obj *.res *.i *.exe *.dll *.lib *.err *.map *.exp *.lk1 *.mk1 *.ilk *.manifest
-del *.pdb
# Needed by hacker rule to make makefile.msc from makefile.msc.in:
SED = e:\cygwin\bin\sed

View File

@ -1,124 +0,0 @@
# Note that this file is hardly maintained, hardly usable without
# manual editing, and not really part of a recommended way to build
# GLib and related software with Microsoft's compilers. Only a few
# persons use a build setup that involves this file.
# This file is included by makefiles for both GNU Make (for gcc
# (mingw) builds, and NMAKE (for MSVC builds).
MODULE_DEFS_INCLUDED=1
# fallback if a specifc library is not contained in TOP (i.e. not self-compiled)
DEVTOP=$(TOP)\..\other\dev
################
# The version macros define what versions of libraries to use.
# The version numbers are defined unconditionally. If you want to
# produce a newer version of one of these libraries, the new number
# should be defined in the specific project makefile _after_ including
# this file (or make.{mingw,msc}). These version numbers are used in
# the names of some import libraries.
# Please note that there are two (or three) ways to build the GLib
# (and GTK+ etc) libraries on Win32: Either using the same
# auto*/configure mechanism to generate makefiles as on Unix, and
# libtool to handle DLL creation. This currently only works for gcc,
# and even then it is hellish to set up to work 100% correctly. For
# people using that, this file is totally irrelevant.
# Or, use hand-written makefiles, either for MSVC (these are called
# makefile.msc and maintained by Hans Breuer), or for gcc
# (makefile.mingw, by Tor Lillqvist). Only for GLib are the
# makefile.mingw files believed to be up-to-date, for other modules
# they have been left to rot after Tor started using the
# autoconfiscated way of building.
# The stuff here uses the same name for (import) libraries as on Unix,
# as libtool uses those, and the semi-official developer packages are
# built using libtool.
ATK_VER = 1.0
CAIRO_VER = 1.4
FREETYPE2_VER = 2.0
GIMP_VER = 1.2
GDK_PIXBUF_VER = 2.0
GLIB_VER = 2.0
GTKGLAREA_VER = 1.2.2
GTK2_VER = 2.0
LIBGLADE_VER = 0.14
LIBICONV_VER = 1.7
LIBXML_VER = 1.8.7
LIBXML2_VER = 2.4.2
PANGO_VER = 1.0
POPT_VER = 1.4
SVG_VER = 0.1
RSVG_VER = 2.4
################
# Locations of various source directories. TOP is defined in make.{mingw,msc}
# First stuff that is in the GNOME CVS repository.
# In alphabetical order.
ATK = $(TOP)/atk
BABL = $(TOP)/babl
CAIRO = d:\devel\from-svn\other\cairo-1.8.4
GIMP = $(TOP)/gimp
GEGL = $(TOP)/gegl
GLIB = $(TOP)/glib
GNOMECANVAS = $(TOP)\libgnomecanvas
GNOMECANVAS_VER = 2.9
# GTK+ 1.3.0, gtk-1-3-win32-production branch. Rename directory
# to gtk+p after initial checkout from CVS.
GTK = $(TOP)/gtk+p
# GTK+ 2.0
GTK2 = $(TOP)/gtk+
GTKSOURCEVIEW = $(TOP)/gtksourceview
GNOMEPRINT = $(TOP)\libgnomeprint
GNOMEPRINT_VER = 2.8
LIBGLADE = $(TOP)/libglade
LIBXML = $(TOP)/libxml-$(LIBXML_VER)
LIBXML2 = $(TOP)/libxml2
#PANGO = $(TOP)/pango-1-8
PANGO = $(TOP)/pango
GNOMEPRINTUI = $(TOP)\libgnomeprintui
GNOMEPRINTUI_VER = 2.2
# Aux programs
GLIB_GENMARSHAL = $(GLIB)/gobject/glib-genmarshal
# Stuff from other places.
# Note this was is specific to what tml happened to have on his disk
# at some time in history. To really be able to recompile something
# that uses for instance libjpeg, you should download a suitable
# binary "developer" distribution of it, unpack it into some location,
# and edit this file correspondingly. You should not take the versions
# mentioned here too literally, use the latest version you can find,
# or the ones the current GTK+ 2.0 for Windows uses.
#FREETYPE2 = $(TOP)/freetype2
GTKEXTRA = $(TOP)/gtk+extra
GTKGLAREA = $(TOP)/gtkglarea
#INTL = d:/devel/from-svn/other/intl-tml
JPEG = d:/devel/from-svn/other/jpeg-6b
LCMS = d:/devel/other/lcms-1.15
LIBART = $(TOP)/libart_lgpl
LIBICONV = $(TOP)/libiconv-$(LIBICONV_VER)
LIBXSLT = $(TOP)/libxslt
#PNG = d:/devel/from-svn/other/lpng1224
RSVG = $(TOP)\librsvg
SVG = $(TOP)\libsvg
#TIFF = d:/devel/from-svn/other/tiff-3.7.2
#ZLIB = d:/devel/from-svn/other/zlib123
# Headers from Microsoft's PlatformSDK (that aren't present in
# mingw) are needed by a just a few packages when compiling with gcc.
# This is just where tml has it installed.
PLATFORMSDK = i:/src/psdk
#
WTKIT = d:/devel/from-svn/other\wtkit126

View File

@ -3513,16 +3513,11 @@ if false; then
README
config.h.win32
glib/glibconfig.h.win32
glib/makefile.msc
glib/glib.rc
gmodule/makefile.msc
gmodule/gmodule.rc
gobject/makefile.msc
gobject/gobject.rc
gthread/makefile.msc
gthread/gthread.rc
gio/gio.rc
tests/makefile.msc
])
fi

View File

@ -757,7 +757,6 @@ EXTRA_DIST += \
data-to-c.pl \
gioenumtypes.h.template \
gioenumtypes.c.template \
makefile.msc \
gio.rc.in \
gschema.dtd \
gconstructor_as_data.h \

View File

@ -1,260 +0,0 @@
# autogenerated from automake.am with automake.py
TOP = ..\..
PRJ_TOP = ..
PACKAGE = gio
PKG_VER = 2.0
!INCLUDE $(TOP)\glib\build\win32\make.msc
SUBDIRS = win32
sub-all:
for %d in ($(SUBDIRS)) do nmake -nologo -f makefile.msc sub-one THIS=%d
sub-one:
cd $(THIS)
nmake -nologo -f makefile.msc
cd ..
INCLUDES = \
-FImsvc_recommended_pragmas.h \
-I .. -I ..\glib -I ..\gmodule -I . \
$(INTL_CFLAGS)
DEFINES = \
-DG_LOG_DOMAIN=\"GLib-GIO\" \
-DGIO_MODULE_DIR=\"$(libdir)/gio/modules\" \
-DGIO_COMPILATION
appinfo_sources = \
gwin32appinfo.c gwin32appinfo.h
gio_headers = \
gappinfo.h \
gasyncresult.h \
gbufferedinputstream.h \
gbufferedoutputstream.h \
gcancellable.h \
gcontenttype.h \
gdatainputstream.h \
gdataoutputstream.h \
gdrive.h \
gemblem.h \
gemblemedicon.h \
gfile.h \
gfileattribute.h \
gfileenumerator.h \
gfileicon.h \
gfileinfo.h \
gfileinputstream.h \
gfilemonitor.h \
gfilenamecompleter.h \
gfileoutputstream.h \
gfilterinputstream.h \
gfilteroutputstream.h \
gicon.h \
ginputstream.h \
gio.h \
giotypes.h \
gioenums.h \
gioerror.h \
giomodule.h \
gioscheduler.h \
gloadableicon.h \
gmount.h \
gmemoryinputstream.h \
gmemoryoutputstream.h \
gmountoperation.h \
gnativevolumemonitor.h \
goutputstream.h \
gseekable.h \
gsimpleasyncresult.h \
gthemedicon.h \
gvfs.h \
gvolume.h \
gvolumemonitor.h \
$(NULL)
OBJECTS = \
gappinfo.obj \
gasynchelper.obj \
gasyncinitable.obj \
gasyncresult.obj \
gbufferedinputstream.obj \
gbufferedoutputstream.obj \
gcancellable.obj \
gcontenttype.obj \
gdatagrambased.obj \
gdatainputstream.obj \
gdataoutputstream.obj \
# gdesktopappinfo.obj \
gdrive.obj \
gdummyfile.obj \
gemblem.obj \
gemblemedicon.obj \
gfile.obj \
gfileattribute.obj \
gfileenumerator.obj \
gfileicon.obj \
gfileinfo.obj \
gfileinputstream.obj \
gfileiostream.obj \
gfilemonitor.obj \
gfilenamecompleter.obj \
gfileoutputstream.obj \
gfilterinputstream.obj \
gfilteroutputstream.obj \
gicon.obj \
ginetaddress.obj \
ginetsocketaddress.obj \
ginitable.obj \
ginputstream.obj \
gioenumtypes.obj \
gioerror.obj \
giomodule.obj \
gioscheduler.obj \
giostream.obj \
gloadableicon.obj \
glocalfileiostream.obj \
gmemoryinputstream.obj \
gmemoryoutputstream.obj \
gmount.obj \
gmountoperation.obj \
gnativevolumemonitor.obj \
gnetworkaddress.obj \
gnetworkservice.obj \
goutputstream.obj \
gpollfilemonitor.obj \
gresolver.obj \
gseekable.obj \
gsimpleasyncresult.obj \
gsocket.obj \
gsocketaddress.obj \
gsocketaddressenumerator.obj \
gsocketclient.obj \
gsocketconnectable.obj \
gsocketconnection.obj \
gsocketcontrolmessage.obj \
gsocketlistener.obj \
gsocketservice.obj \
gsocketinputstream.obj \
gsocketoutputstream.obj \
gsrvtarget.obj \
gtcpconnection.obj \
gthreadedresolver.obj \
gthreadedsocketservice.obj \
gthemedicon.obj \
gunionvolumemonitor.obj \
gvfs.obj \
gvolume.obj \
gvolumemonitor.obj \
\
glocalvfs.obj \
glocalfile.obj \
glocalfileenumerator.obj \
glocalfileinfo.obj \
glocalfileinputstream.obj \
glocalfileoutputstream.obj \
glocalfilemonitor.obj \
glocaldirectorymonitor.obj \
gwin32appinfo.obj \
\
gio-marshal.obj \
gwin32mount.obj \
gwin32volumemonitor.obj \
gwin32resolver.obj
libgio_2_0_la_LIBADD = \
$(top_builddir)/glib/libglib-2.0.la \
$(top_builddir)/gobject/libgobject-2.0.la \
$(top_builddir)/gmodule/libgmodule-2.0.la \
$(platform_libadd) \
$(SELINUX_LIBS) \
$(GLIB_LIBS) \
$(XATTR_LIBS) \
$(NULL)
unix_sources = \
gunixdrive.c \
gunixdrive.h \
gunixmounts.c \
gunixmounts.h \
gunixvolume.c \
gunixvolume.h \
gunixvolumemonitor.c \
gunixvolumemonitor.h \
$(NULL)
marshal_sources = \
gio-marshal.h gio-marshal.c $(NULL)
GLIB_GEN_MARSHAL = ..\gobject\glib-genmarshal.exe
gio-marshal.h: gio-marshal.list
$(GLIB_GEN_MARSHAL) --prefix=_gio_marshal gio-marshal.list --header >> xgen-gwmh \
&& copy /y xgen-gwmh gio-marshal.h \
&& del xgen-gwmh xgen-gwmh~
gio-marshal.c: gio-marshal.h
echo #include "gio-marshal.h" >> xgen-gwmc \
&& $(GLIB_GEN_MARSHAL) --prefix=_gio_marshal gio-marshal.list --body >> xgen-gwmc \
&& copy xgen-gwmc gio-marshal.c \
&& del xgen-gwmc xgen-gwmc~
local_sources = \
glocaldirectorymonitor.c \
glocaldirectorymonitor.h \
glocalfile.c \
glocalfile.h \
glocalfileenumerator.c \
glocalfileenumerator.h \
glocalfileinfo.c \
glocalfileinfo.h \
glocalfileinputstream.c \
glocalfileinputstream.h \
glocalfilemonitor.c \
glocalfilemonitor.h \
glocalfileoutputstream.c \
glocalfileoutputstream.h \
glocalvfs.c \
glocalvfs.h \
$(NULL)
all : \
$(PRJ_TOP)\config.h \
sub-all \
gio-marshal.c \
gioenumtypes.h \
gioenumtypes.c \
libgio-$(PKG_VER)-0.dll
$(PRJ_TOP)\config.h: $(PRJ_TOP)\config.h.win32
copy $(PRJ_TOP)\config.h.win32 $(PRJ_TOP)\config.h
gioenumtypes.h: $(gio_headers) gioenumtypes.h.template
$(PERL) ..\gobject\glib-mkenums --template gioenumtypes.h.template $(gio_headers) > gioenumtypes.h
gioenumtypes.c: $(gio_headers) gioenumtypes.c.template
$(PERL) ..\gobject\glib-mkenums --template gioenumtypes.c.template $(gio_headers) > gioenumtypes.c
gio.def: gio.symbols
echo EXPORTS > gio.def
cl /EP -DINCLUDE_VARIABLES -DG_OS_WIN32 -DINCLUDE_INTERNAL_SYMBOLS -DALL_FILES \
-DG_GNUC_MALLOC= -DG_GNUC_CONST= -DG_GNUC_NULL_TERMINATED= -DG_GNUC_NORETURN= \
-DG_GNUC_PRINTF=;G_GNUC_PRINTF gio.symbols >> gio.def
RESOURCE = $(PACKAGE).res
$(PACKAGE).res : $(PACKAGE).rc
rc -DBUILDNUMBER=0 -r -fo $(PACKAGE).res $(PACKAGE).rc
libgio-$(PKG_VER)-0.dll : $(OBJECTS) win32\giowin32.lib $(PACKAGE).def $(RESOURCE)
$(CC) $(CFLAGS) -LD -Felibgio-$(PKG_VER)-0.dll $(OBJECTS) $(RESOURCE) \
..\glib\glib-2.0.lib ..\gobject\gobject-2.0.lib ..\gmodule\gmodule-2.0.lib \
win32\giowin32.lib \
$(INTL_LIBS) \
kernel32.lib user32.lib advapi32.lib shell32.lib wsock32.lib ws2_32.lib dnsapi.lib mpr.lib $(LDFLAGS) \
/implib:gio-2.0.lib /def:$(PACKAGE).def
.c.obj :
$(CC) $(CFLAGS) -c $(PKG_CFLAGS) $<

View File

@ -1,35 +0,0 @@
TOP = ..\..\..
PRJ_TOP = ..\..
PACKAGE = giowin32
PKG_VER = 2.0
!INCLUDE $(TOP)\glib\build\win32\make.msc
INCLUDES = \
-FImsvc_recommended_pragmas.h \
-I .. -I ..\.. -I ..\..\glib -I ..\..\gmodule -I . \
$(INTL_CFLAGS)
DEFINES = \
-DG_LOG_DOMAIN=\"GLib-GIO\" \
-DGIO_MODULE_DIR=\"$(libdir)/gio/modules\" \
-DGIO_COMPILATION
OBJECTS = \
gwin32directorymonitor.obj \
gwinhttpfile.obj \
gwinhttpfileinputstream.obj \
gwinhttpfileoutputstream.obj \
gwinhttpvfs.obj \
all : \
$(PRJ_TOP)\config.h \
$(PACKAGE).lib
$(PRJ_TOP)\config.h: $(PRJ_TOP)\config.h.win32
copy $(PRJ_TOP)\config.h.win32 $(PRJ_TOP)\config.h
$(PACKAGE).lib : $(OBJECTS)
lib /out:$(PACKAGE).lib $(OBJECTS)
.c.obj :
$(CC) $(CFLAGS) -c $(PKG_CFLAGS) $<

1
glib/.gitignore vendored
View File

@ -4,7 +4,6 @@ glibconfig-stamp
gtester
libglib-gdb.py
makefile.msc
gspawn-win32-helper-console.c
gspawn-win64-helper-console.c
gspawn-win64-helper.c

View File

@ -55,7 +55,6 @@ MIRRORING_TAB_SOURCE = \
# The compilation of GRegex can be disabled, but the source files must
# be distributed.
EXTRA_DIST += \
makefile.msc.in \
glib.rc.in \
gen-unicode-tables.pl \
glibconfig.h.win32.in \
@ -71,7 +70,6 @@ CLEANFILES += libglib-gdb.py
# These may be in the builddir too
BUILT_EXTRA_DIST += \
makefile.msc \
glibconfig.h.win32 \
glib.rc

View File

@ -24,6 +24,3 @@ libgnulib_la_SOURCES = \
verify.h \
xsize.h \
g-gnulib.h
EXTRA_DIST += makefile.msc

View File

@ -1,18 +0,0 @@
TOP = ..\..\..
!INCLUDE ..\..\build\win32\make.msc
INCLUDES = -I ..\.. -I ..
DEFINES = -DHAVE_CONFIG_H -DHAVE_LONG_LONG_FORMAT
OBJECTS = \
asnprintf.obj \
printf.obj \
printf-args.obj \
printf-parse.obj \
vasnprintf.obj
all : gnulib.lib
gnulib.lib : $(OBJECTS)
lib -out:gnulib.lib $(OBJECTS)

View File

@ -1,143 +0,0 @@
## Makefile for building the GLib dlls with Microsoft C
## Use: nmake -f makefile.msc
TOP = ..\..
!INCLUDE ..\build\win32\make.msc
################################################################
INCLUDES = -FImsvc_recommended_pragmas.h -I . -I ..
DEFINES = \
-DHAVE_CONFIG_H -DGLIB_COMPILATION -DG_LOG_DOMAIN=\"GLib\" \
-DG_ENABLE_DEBUG -DPCRE_STATIC -DG_DISABLE_DEPRECATED \
-DDLL_EXPORT=1
DEPCFLAGS = -Zm400 $(INTL_CFLAGS) $(DIRENT_CFLAGS)
all : \
..\config.h \
..\glibconfig.h \
gnulib\gnulib.lib \
pcre\pcre.lib \
libglib-2.0-0.dll \
glib-@GLIB_MAJOR_VERSION@.@GLIB_MINOR_VERSION@s.lib \
gspawn-win32-helper.exe \
gspawn-win32-helper-console.exe \
gnulib\gnulib.lib :
cd gnulib
nmake -f makefile.msc
cd ..
pcre\pcre.lib :
cd pcre
nmake -f makefile.msc
cd ..
glib_OBJECTS = \
garray.obj \
gasyncqueue.obj \
gatomic.obj \
gbacktrace.obj \
gbase64.obj \
gbookmarkfile.obj \
gcache.obj \
gchecksum.obj \
gcompletion.obj \
gconvert.obj \
gdataset.obj \
gdate.obj \
gdir.obj \
gerror.obj \
gfileutils.obj \
ghash.obj \
ghostutils.obj \
ghook.obj \
giochannel.obj \
giowin32.obj \
gpoll.obj \
gkeyfile.obj \
glist.obj \
gmain.obj \
gmappedfile.obj \
gmarkup.obj \
gmem.obj \
gmessages.obj \
gnode.obj \
goption.obj \
gpattern.obj \
gprimes.obj \
gprintf.obj \
gqsort.obj \
gqueue.obj \
grand.obj \
gregex.obj \
grel.obj \
gscanner.obj \
gsequence.obj \
gshell.obj \
gslice.obj \
gslist.obj \
gspawn-win32.obj \
gstdio.obj \
gstrfuncs.obj \
gstring.obj \
gtestutils.obj \
gthread.obj \
gthreadpool.obj \
gtimer.obj \
gtree.obj \
gunibreak.obj \
gunicollate.obj \
gunidecomp.obj \
guniprop.obj \
gurifuncs.obj \
gutf8.obj \
gutils.obj \
gwin32.obj \
localcharset.obj
..\glibconfig.h: ..\glibconfig.h.win32
copy ..\glibconfig.h.win32 ..\glibconfig.h
..\config.h: ..\config.h.win32
copy ..\config.h.win32 ..\config.h
localcharset.obj : libcharset\localcharset.c
$(CC) $(CFLAGS) -DLIBDIR=\".\" -c libcharset\localcharset.c
glib.def: glib.symbols
echo EXPORTS > glib.def
cl /EP -DINCLUDE_VARIABLES -DG_OS_WIN32 -DINCLUDE_INTERNAL_SYMBOLS -DALL_FILES \
-DG_GNUC_MALLOC= -DG_GNUC_CONST= -DG_GNUC_NULL_TERMINATED= -DG_GNUC_NORETURN= \
-DG_GNUC_PRINTF=;G_GNUC_PRINTF -DG_GNUC_FORMAT=;G_GNUC_FORMAT glib.symbols >> glib.def
glib.res : glib.rc
rc -DBUILDNUMBER=0 -r -fo glib.res glib.rc
################ glib
# create a static libary
# static library can well have the real version number in the name
glib-@GLIB_MAJOR_VERSION@.@GLIB_MINOR_VERSION@s.lib : $(glib_OBJECTS) gnulib\gnulib.lib pcre\pcre.lib
lib /out:glib-@GLIB_MAJOR_VERSION@.@GLIB_MINOR_VERSION@s.lib $(glib_OBJECTS) gnulib\gnulib.lib pcre\pcre.lib
libglib-2.0-0.dll : $(glib_OBJECTS) gnulib\gnulib.lib pcre\pcre.lib glib.def glib.res
$(CC) $(CFLAGS) -LD -Fe$@ $(glib_OBJECTS) glib.res $(INTL_LIBS) \
gnulib\gnulib.lib pcre\pcre.lib $(DIRENT_LIBS) user32.lib advapi32.lib shell32.lib wsock32.lib ole32.lib ws2_32.lib winmm.lib \
$(LDFLAGS) /implib:glib-2.0.lib /def:glib.def
gspawn-win32-helper.exe : gspawn-win32-helper.c libglib-2.0-@LT_CURRENT_MINUS_AGE@.dll
$(CC) $(CFLAGS) -Fe$@ -DG_LOG_DOMAIN=\"gspawn-win32-helper\" gspawn-win32-helper.c glib-2.0.lib $(LDFLAGS) /subsystem:windows user32.lib
gspawn-win32-helper-console.exe : gspawn-win32-helper.c libglib-2.0-@LT_CURRENT_MINUS_AGE@.dll
$(CC) $(CFLAGS) -Fe$@ -DG_LOG_DOMAIN=\"gspawn-win32-helper\" gspawn-win32-helper.c glib-2.0.lib $(LDFLAGS) /subsystem:console user32.lib
################ other stuff
clean::
del ..\config.h
del ..\glibconfig.h

View File

@ -60,6 +60,4 @@ libpcre_la_SOURCES = \
libpcre_la_LIBADD = $(DEP_LIBS)
EXTRA_DIST += \
COPYING \
makefile.msc
EXTRA_DIST += COPYING

View File

@ -1,30 +0,0 @@
TOP = ..\..\..
!INCLUDE ..\..\build\win32\make.msc
INCLUDES = \
-I ..\.. \
-I ..
DEFINES = \
-DPCRE_STATIC \
-DHAVE_CONFIG_H \
-DHAVE_LONG_LONG_FORMAT \
-DSUPPORT_UCP \
-DSUPPORT_UTF8 \
-DNEWLINE=-1 \
-DMATCH_LIMIT=10000000 \
-DMATCH_LIMIT_RECURSION=10000000 \
-DMAX_NAME_SIZE=32 \
-DMAX_NAME_COUNT=10000 \
-DMAX_DUPLENGTH=30000 \
-DLINK_SIZE=2 \
-DEBCDIC=0 \
-DPOSIX_MALLOC_THRESHOLD=10
OBJECTS = \
all : pcre.lib
pcre.lib : $(OBJECTS)
lib -out:pcre.lib $(OBJECTS)

View File

@ -82,44 +82,6 @@ for f in $included_files; do
done
cat $IN/Makefile.am-2 >> Makefile.am
# Generate makefile.msc
cat > makefile.msc << EOF
TOP = ..\..\..
!INCLUDE ..\..\build\win32\make.msc
INCLUDES = \\
-I ..\.. \\
-I ..
DEFINES = \\
-DPCRE_STATIC \\
-DHAVE_CONFIG_H \\
-DHAVE_LONG_LONG_FORMAT \\
-DSUPPORT_UCP \\
-DSUPPORT_UTF8 \\
-DNEWLINE=-1 \\
-DMATCH_LIMIT=10000000 \\
-DMATCH_LIMIT_RECURSION=10000000 \\
-DMAX_NAME_SIZE=32 \\
-DMAX_NAME_COUNT=10000 \\
-DMAX_DUPLENGTH=30000 \\
-DLINK_SIZE=2 \\
-DEBCDIC=0 \\
-DPOSIX_MALLOC_THRESHOLD=10
OBJECTS = \\
`
for f in $all_files; do
echo " $f.obj \\\\"
done
`
all : pcre.lib
pcre.lib : \$(OBJECTS)
lib -out:pcre.lib \$(OBJECTS)
EOF
echo "Patching PCRE"
# Copy the license.

1
gmodule/.gitignore vendored
View File

@ -1,2 +1 @@
gmoduleconf.h
makefile.msc

View File

@ -10,7 +10,6 @@ AM_CPPFLAGS = \
AM_CFLAGS = $(GLIB_WARN_CFLAGS)
EXTRA_DIST += \
makefile.msc.in \
gmoduleconf.h.in \
gmodule-dl.c \
gmodule-dyld.c \
@ -20,7 +19,6 @@ EXTRA_DIST += \
gmodule.rc.in
BUILT_EXTRA_DIST += \
makefile.msc \
gmodule.rc
BUILT_SOURCES += gmoduleconf.h

View File

@ -1,37 +0,0 @@
## Makefile for building the gmodule dll with Microsoft C
## Use: nmake -f makefile.msc install
TOP = ..\..
!INCLUDE ..\build\win32\make.msc
################################################################
INCLUDES = -FImsvc_recommended_pragmas.h -I .. -I . -I ..\glib
DEFINES = -DHAVE_CONFIG_H -DG_LOG_DOMAIN=\"GModule\"
all : \
gmoduleconf.h \
libgmodule-2.0-@LT_CURRENT_MINUS_AGE@.dll
gmodule_OBJECTS = \
gmodule.obj
gmodule.def: gmodule.symbols
echo EXPORTS > gmodule.def
cl /EP -DINCLUDE_VARIABLES -DG_OS_WIN32 -DINCLUDE_INTERNAL_SYMBOLS -DALL_FILES \
-DG_GNUC_MALLOC= -DG_GNUC_CONST= -DG_GNUC_NULL_TERMINATED= -DG_GNUC_NORETURN= \
-DG_GNUC_PRINTF=;G_GNUC_PRINTF gmodule.symbols >> gmodule.def
gmoduleconf.h: gmoduleconf.h.win32
copy gmoduleconf.h.win32 gmoduleconf.h
gmodule.res : gmodule.rc
rc -DBUILDNUMBER=0 -r -fo gmodule.res gmodule.rc
libgmodule-2.0-@LT_CURRENT_MINUS_AGE@.dll : $(gmodule_OBJECTS) gmodule.def gmodule.res
$(CC) $(CFLAGS) -LD -Fe$@ $(gmodule_OBJECTS) gmodule.res \
..\glib\glib-2.0.lib $(LDFLAGS) /implib:gmodule-2.0.lib /def:gmodule.def
clean::
del gmoduleconf.h

1
gobject/.gitignore vendored
View File

@ -4,6 +4,5 @@ gmarshal.strings
gobject-query
testgobject
libgobject-gdb.py
makefile.msc
gobject_probes.h
gobject-public-headers.txt

View File

@ -212,7 +212,6 @@ gobject_query_LDADD = $(progs_LDADD)
# auxillary files
#
EXTRA_DIST += \
makefile.msc.in \
gobject.rc.in \
libgobject-gdb.py.in \
glib-mkenums.in
@ -220,7 +219,6 @@ EXTRA_DIST += \
CLEANFILES += libgobject-gdb.py
BUILT_EXTRA_DIST += \
makefile.msc \
gobject.rc
gobject-win32-res.o: gobject.rc

View File

@ -1,83 +0,0 @@
## Makefile for building the gobject dll with Microsoft C
## Use: nmake -f makefile.msc install
TOP = ..\..
!INCLUDE ..\build\win32\make.msc
################################################################
INCLUDES = -FImsvc_recommended_pragmas.h -I .. -I . -I ..\glib
DEFINES = -DHAVE_CONFIG_H -DGOBJECT_COMPILATION -DG_LOG_DOMAIN=\"GLib-GObject\" \
-DG_ENABLE_DEBUG
# -DG_DISABLE_ASSERT -DG_DISABLE_CHECKS -DG_DISABLE_CAST_CHECKS
# -DG_DISABLE_CAST_CHECKS
all : \
glib-genmarshal.exe \
gmarshal.h \
gmarshal.c \
gmarshal.strings \
gobject-query.exe \
libgobject-2.0-@LT_CURRENT_MINUS_AGE@.dll \
gobject-@GLIB_MAJOR_VERSION@.@GLIB_MINOR_VERSION@s.lib \
testgobject.exe
gobject_OBJECTS = \
gboxed.obj \
gclosure.obj \
genums.obj \
gobject.obj \
gparam.obj \
gparamspecs.obj \
gsignal.obj \
gsourceclosure.obj \
gtype.obj \
gtypemodule.obj \
gtypeplugin.obj \
gvalue.obj \
gvaluearray.obj \
gvaluetypes.obj \
gvaluetransform.obj
gobject.def: gobject.symbols
echo EXPORTS > gobject.def
cl /EP -DINCLUDE_VARIABLES -DG_OS_WIN32 -DALL_FILES \
-DG_GNUC_MALLOC= -DG_GNUC_CONST= -DG_GNUC_NULL_TERMINATED= -DG_GNUC_NORETURN= \
-DG_GNUC_PRINTF=;G_GNUC_PRINTF gobject.symbols >> gobject.def
gobject.res : gobject.rc
rc -DBUILDNUMBER=0 -r -fo gobject.res gobject.rc
gmarshal.h : gmarshal.list glib-genmarshal.exe
echo #ifndef __G_MARSHAL_H__ > xgen-gmh
echo #define __G_MARSHAL_H__ >> xgen-gmh
glib-genmarshal --nostdinc --prefix=g_cclosure_marshal gmarshal.list --header >> xgen-gmh
echo #endif /* __G_MARSHAL_H__ */ >> xgen-gmh
copy xgen-gmh gmarshal.h
gmarshal.c: gmarshal.list gmarshal.h glib-genmarshal.exe
glib-genmarshal --nostdinc --prefix=g_cclosure_marshal gmarshal.list --body > gmarshal.c
libgobject-2.0-@LT_CURRENT_MINUS_AGE@.dll : $(gobject_OBJECTS) gobject.def gobject.res
$(CC) $(CFLAGS) -Fm -LD -Fe$@ $(gobject_OBJECTS) gobject.res \
..\glib\glib-2.0.lib $(LDFLAGS) /implib:gobject-2.0.lib /def:gobject.def || del $@
gobject-@GLIB_MAJOR_VERSION@.@GLIB_MINOR_VERSION@s.lib : $(gobject_OBJECTS)
lib /out:$@ $(gobject_OBJECTS)
# link glib's static version to avoid installing
glib-genmarshal.exe : glib-genmarshal.c gmarshal.strings
$(CC) -Fe$@ $(CFLAGS) -UGOBJECT_COMPILATION glib-genmarshal.c \
..\glib\glib-@GLIB_MAJOR_VERSION@.@GLIB_MINOR_VERSION@s.lib user32.lib advapi32.lib ole32.lib shell32.lib $(INTL_LIBS)
gobject-query.exe : gobject-query.c libgobject-2.0-@LT_CURRENT_MINUS_AGE@.dll
$(CC) -Fe$@ $(CFLAGS) -UGOBJECT_COMPILATION gobject-query.c \
..\glib\glib-2.0.lib gobject-2.0.lib user32.lib advapi32.lib $(INTL_LIBS)
gmarshal.strings : gmarshal.list
perl marshal-genstrings.pl > gmarshal.strings
.c.exe :
$(CC) $(CFLAGS) -c $<
$(CC) $(CFLAGS) -Fe$@ $< gobject-2.0.lib ..\glib\glib-2.0.lib ..\gmodule\gmodule-2.0.lib $(LDFLAGS) user32.lib /subsystem:console

1
gthread/.gitignore vendored
View File

@ -1 +0,0 @@
makefile.msc

View File

@ -10,12 +10,10 @@ AM_CPPFLAGS = \
AM_CFLAGS = $(GLIB_WARN_CFLAGS)
EXTRA_DIST += \
makefile.msc.in \
gthread.def \
gthread.rc.in
BUILT_EXTRA_DIST += \
makefile.msc \
gthread.rc
libglib = $(top_builddir)/glib/libglib-2.0.la

View File

@ -1,26 +0,0 @@
## Makefile for building the gthread dll with Microsoft C
## Use: nmake -f makefile.msc install
TOP = ..\..
!INCLUDE ..\build\win32\make.msc
################################################################
INCLUDES = -FImsvc_recommended_pragmas.h -I .. -I . -I ..\glib
DEFINES = -DHAVE_CONFIG_H -DG_LOG_DOMAIN=\"GThread\"
all : \
libgthread-2.0-@LT_CURRENT_MINUS_AGE@.dll
gthread_OBJECTS = \
gthread-impl.obj
gthread-impl.obj : gthread-impl.c gthread-win32.c
$(CC) -c $(CFLAGS) gthread-impl.c
gthread.res : gthread.rc
rc -DBUILDNUMBER=0 -r -fo gthread.res gthread.rc
libgthread-2.0-@LT_CURRENT_MINUS_AGE@.dll : $(gthread_OBJECTS) gthread.def gthread.res
$(CC) $(CFLAGS) -LD -Fe$@ $(gthread_OBJECTS) gthread.res \
..\glib\glib-2.0.lib $(DEPCLIBS) user32.lib $(LDFLAGS) /implib:gthread-2.0.lib /def:gthread.def

View File

@ -1,28 +0,0 @@
## Makefile for building the GLib dlls with Microsoft C
## Use: nmake -f makefile.msc
PARTS = glib gmodule gthread gobject gio tests
all : \
config.h \
glibconfig.h \
sub-all
sub-all:
for %d in ($(PARTS)) do nmake -nologo -f makefile.msc sub-one THIS=%d TARGET=all
clean : sub-clean
sub-clean:
for %d in ($(PARTS)) do nmake -nologo -f makefile.msc sub-one THIS=%d TARGET=clean
sub-one:
@cd $(THIS)
@nmake -nologo -f makefile.msc $(TARGET)
@cd ..
config.h: config.h.win32
copy config.h.win32 config.h
glibconfig.h: glibconfig.h.win32
copy glibconfig.h.win32 glibconfig.h

2
tests/.gitignore vendored
View File

@ -1,5 +1,3 @@
makefile.msc
assert-msg-test
asyncqueue-test
atomic-test

View File

@ -146,16 +146,12 @@ endif
EXTRA_DIST += \
$(test_scripts) \
makefile.msc.in \
gen-casefold-txt.pl \
gen-casemap-txt.pl \
iochannel-test-infile \
timeloop-basic.c \
assert-msg-test.gdb
BUILT_EXTRA_DIST += \
makefile.msc
DISTCLEANFILES += \
iochannel-test-outfile \
file-test-get-contents \

View File

@ -1,105 +0,0 @@
## Makefile for building the GLib test programs with Microsoft C
## Use: nmake -f makefile.msc check
TOP = ..\..
!INCLUDE ..\build\win32\make.msc
################################################################
INCLUDES = -FImsvc_recommended_pragmas.h -I .. -I ..\glib -I ..\gmodule
DEFINES = -DHAVE_CONFIG_H -DENABLE_REGEX
NONAUTOMATIC_TESTS = \
testglib.exe \
testgdate.exe \
testgdateparser.exe \
unicode-normalize.exe \
unicode-collate.exe
TESTS = \
atomic-test.exe \
asyncqueue-test.exe \
base64-test.exe \
bit-test.exe \
bookmarkfile-test.exe \
child-test.exe \
checksum-test.exe \
completion-test.exe \
convert-test.exe \
date-test.exe \
dirname-test.exe \
env-test.exe \
errorcheck-mutex-test.exe \
file-test.exe \
gio-test.exe \
iochannel-test.exe \
hash-test.exe \
list-test.exe \
mainloop-test.exe \
mapping-test.exe \
#c99 markup-collect.exe \
markup-escape-test.exe \
markup-test.exe \
#main? memchunks.exe \
module-test.exe \
node-test.exe \
#c99 onceinit.exe \
patterntest.exe \
queue-test.exe \
qsort-test.exe \
regex-test.exe \
relation-test.exe \
scannerapi.exe \
sequence-test.exe \
shell-test.exe \
slice-color.exe \
#unistd slice-concurrent.exe\
slice-threadinit.exe \
slice-test.exe \
slist-test.exe \
spawn-test.exe \
testingbase64.exe \
thread-test.exe \
threadpool-test.exe \
#unistd timeloop-basic.exe \
#unistd timeloop-closure.exe \
#unistd timeloop.exe \
tree-test.exe \
type-test.exe \
unicode-caseconv.exe \
unicode-encoding.exe \
utf8-validate.exe \
utf8-pointer.exe \
uri-test.exe \
\
gio-ls.exe
DLLS = \
libmoduletestplugin_a.dll \
libmoduletestplugin_b.dll
all : $(TESTS) $(NONAUTOMATIC_TESTS) $(DLLS)
.c.exe :
$(CC) $(CFLAGS) -c $<
$(CC) $(CFLAGS) -Fe$@ $< ..\glib\glib-2.0.lib ..\gmodule\gmodule-2.0.lib ..\gthread\gthread-2.0.lib $(LDFLAGS) user32.lib /subsystem:console
gio-ls.exe : gio-ls.obj
$(CC) $(CFLAGS) -Fe$@ gio-ls.obj \
..\glib\glib-2.0.lib ..\gmodule\gmodule-2.0.lib ..\gthread\gthread-2.0.lib \
..\gobject\gobject-2.0.lib ..\gio\gio-2.0.lib \
$(LDFLAGS) user32.lib /subsystem:console
slice-test.exe : memchunks.obj slice-test.obj
$(CC) $(CFLAGS) -Fe$@ memchunks.obj slice-test.obj \
..\glib\glib-2.0.lib ..\gmodule\gmodule-2.0.lib ..\gthread\gthread-2.0.lib $(LDFLAGS) user32.lib /subsystem:console
libmoduletestplugin_a.dll : libmoduletestplugin_a.obj
$(CC) $(CFLAGS) -LD libmoduletestplugin_a.obj ..\gmodule\gmodule-2.0.lib ..\glib\glib-2.0.lib $(LDFLAGS)
libmoduletestplugin_b.dll : libmoduletestplugin_b.obj
$(CC) $(CFLAGS) -LD libmoduletestplugin_b.obj ..\gmodule\gmodule-2.0.lib ..\glib\glib-2.0.lib $(LDFLAGS)
check: all
for %p in ($(TESTS)) do set PATH=..\glib;..\gmodule;..\gobject;..\gthread;%PATH% && %p

View File

@ -1,41 +0,0 @@
#!/usr/bin/perl
$major = 1;
$minor = 3;
$micro = 7;
$binary_age = 0;
$interface_age = 0;
$gettext_package = "glib20";
$current_minus_age = 0;
sub process_file
{
my $outfilename = shift;
my $infilename = $outfilename . ".in";
open (INPUT, "< $infilename") || exit 1;
open (OUTPUT, "> $outfilename") || exit 1;
while (<INPUT>) {
s/\@GLIB_MAJOR_VERSION\@/$major/g;
s/\@GLIB_MINOR_VERSION\@/$minor/g;
s/\@GLIB_MICRO_VERSION\@/$micro/g;
s/\@GLIB_INTERFACE_AGE\@/$interface_age/g;
s/\@GLIB_BINARY_AGE\@/$binary_age/g;
s/\@GETTEXT_PACKAGE\@/$gettext_package/g;
s/\@LT_CURRENT_MINUS_AGE@/$current_minus_age/g;
print OUTPUT;
}
}
process_file ("config.h.win32");
process_file ("glibconfig.h.win32");
process_file ("glib/makefile.msc");
process_file ("glib/glib.rc");
process_file ("gmodule/makefile.msc");
process_file ("gmodule/gmodule.rc");
process_file ("gobject/makefile.msc");
process_file ("gobject/gobject.rc");
process_file ("gthread/makefile.msc");
process_file ("gthread/gthread.rc");
process_file ("tests/makefile.msc");