[glib] build: Drop nmake/MSC build system for GLib



commit a13113491855bf2803374bcfece824df0891c82a
Author: Philip Withnall <withnall endlessm com>
Date:   Mon Jul 3 11:30:08 2017 +0100

    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

 Makefile.am                     |    1 -
 README.win32                    |  183 +---------------------------
 build/win32/Makefile.am         |    4 -
 build/win32/dirent/Makefile.am  |    1 -
 build/win32/dirent/makefile.msc |   16 ---
 build/win32/make.msc            |  237 -----------------------------------
 build/win32/module.defs         |  124 -------------------
 configure.ac                    |    5 -
 gio/Makefile.am                 |    1 -
 gio/makefile.msc                |  260 ---------------------------------------
 gio/win32/makefile.msc          |   35 -----
 glib/.gitignore                 |    1 -
 glib/Makefile.am                |    2 -
 glib/gnulib/Makefile.am         |    3 -
 glib/gnulib/makefile.msc        |   18 ---
 glib/makefile.msc.in            |  143 ---------------------
 glib/pcre/Makefile.am           |    4 +-
 glib/pcre/makefile.msc          |   30 -----
 glib/update-pcre/update.sh      |   38 ------
 gmodule/.gitignore              |    1 -
 gmodule/Makefile.am             |    2 -
 gmodule/makefile.msc.in         |   37 ------
 gobject/.gitignore              |    1 -
 gobject/Makefile.am             |    2 -
 gobject/makefile.msc.in         |   83 -------------
 gthread/.gitignore              |    1 -
 gthread/Makefile.am             |    2 -
 gthread/makefile.msc.in         |   26 ----
 makefile.msc                    |   28 ----
 tests/.gitignore                |    2 -
 tests/Makefile.am               |    4 -
 tests/makefile.msc.in           |  105 ----------------
 win32-fixup.pl                  |   41 ------
 33 files changed, 2 insertions(+), 1439 deletions(-)
---
diff --git a/Makefile.am b/Makefile.am
index 008ad58..4e2a36b 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -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        \
diff --git a/README.win32 b/README.win32
index fa6a3a0..83f0c98 100644
--- a/README.win32
+++ b/README.win32
@@ -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"
diff --git a/build/win32/Makefile.am b/build/win32/Makefile.am
index 2f701b0..4b79513 100644
--- a/build/win32/Makefile.am
+++ b/build/win32/Makefile.am
@@ -1,6 +1,2 @@
 SUBDIRS =      \
        dirent
-
-EXTRA_DIST =           \
-       make.msc        \
-       module.defs
diff --git a/build/win32/dirent/Makefile.am b/build/win32/dirent/Makefile.am
index 87b5216..d146efe 100644
--- a/build/win32/dirent/Makefile.am
+++ b/build/win32/dirent/Makefile.am
@@ -3,7 +3,6 @@ EXTRA_DIST = \
        dirent.c \
        dirent.h \
        wdirent.c \
-       makefile.msc \
        dirent-zip
 
 
diff --git a/configure.ac b/configure.ac
index 2310d0f..f548c11 100644
--- a/configure.ac
+++ b/configure.ac
@@ -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
 
diff --git a/gio/Makefile.am b/gio/Makefile.am
index f07c94a..b2db995 100644
--- a/gio/Makefile.am
+++ b/gio/Makefile.am
@@ -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  \
diff --git a/glib/.gitignore b/glib/.gitignore
index bdecc0b..17142a6 100644
--- a/glib/.gitignore
+++ b/glib/.gitignore
@@ -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
diff --git a/glib/Makefile.am b/glib/Makefile.am
index d755853..5478edb 100644
--- a/glib/Makefile.am
+++ b/glib/Makefile.am
@@ -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
 
diff --git a/glib/gnulib/Makefile.am b/glib/gnulib/Makefile.am
index 3182af5..4dc1bec 100644
--- a/glib/gnulib/Makefile.am
+++ b/glib/gnulib/Makefile.am
@@ -24,6 +24,3 @@ libgnulib_la_SOURCES =        \
        verify.h \
        xsize.h \
        g-gnulib.h
-
-
-EXTRA_DIST += makefile.msc
diff --git a/glib/pcre/Makefile.am b/glib/pcre/Makefile.am
index 5e1e98d..0787f92 100644
--- a/glib/pcre/Makefile.am
+++ b/glib/pcre/Makefile.am
@@ -60,6 +60,4 @@ libpcre_la_SOURCES = \
 
 libpcre_la_LIBADD = $(DEP_LIBS)
 
-EXTRA_DIST +=                          \
-               COPYING                 \
-               makefile.msc
+EXTRA_DIST += COPYING
diff --git a/glib/update-pcre/update.sh b/glib/update-pcre/update.sh
index 960b4d2..a108d83 100644
--- a/glib/update-pcre/update.sh
+++ b/glib/update-pcre/update.sh
@@ -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.
diff --git a/gmodule/.gitignore b/gmodule/.gitignore
index bd1e253..e44c5c6 100644
--- a/gmodule/.gitignore
+++ b/gmodule/.gitignore
@@ -1,2 +1 @@
 gmoduleconf.h
-makefile.msc
diff --git a/gmodule/Makefile.am b/gmodule/Makefile.am
index 95c7f09..00e0e68 100644
--- a/gmodule/Makefile.am
+++ b/gmodule/Makefile.am
@@ -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
diff --git a/gobject/.gitignore b/gobject/.gitignore
index 6ecf1fb..76cf282 100644
--- a/gobject/.gitignore
+++ b/gobject/.gitignore
@@ -4,6 +4,5 @@ gmarshal.strings
 gobject-query
 testgobject
 libgobject-gdb.py
-makefile.msc
 gobject_probes.h
 gobject-public-headers.txt
diff --git a/gobject/Makefile.am b/gobject/Makefile.am
index a4fb370..508ca0f 100644
--- a/gobject/Makefile.am
+++ b/gobject/Makefile.am
@@ -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
diff --git a/gthread/Makefile.am b/gthread/Makefile.am
index 9760be4..94f8e90 100644
--- a/gthread/Makefile.am
+++ b/gthread/Makefile.am
@@ -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
diff --git a/tests/.gitignore b/tests/.gitignore
index 30bacf1..18560fc 100644
--- a/tests/.gitignore
+++ b/tests/.gitignore
@@ -1,5 +1,3 @@
-makefile.msc
-
 assert-msg-test
 asyncqueue-test
 atomic-test
diff --git a/tests/Makefile.am b/tests/Makefile.am
index 4623150..de3ddb4 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -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  \


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]