[HarfBuzz] harfbuzz: Branch 'master'

Behdad Esfahbod behdad at kemper.freedesktop.org
Thu Oct 12 08:42:14 UTC 2017


 BUILD.md                        |   12 +-
 Makefile.am                     |    2 
 appveyor.yml                    |   30 -----
 configure.ac                    |    2 
 win32/Makefile.am               |   18 ---
 win32/Makefile.vc               |   67 -----------
 win32/README.txt                |   97 ----------------
 win32/build-rules-msvc.mak      |  130 ----------------------
 win32/config-msvc.mak           |  230 ----------------------------------------
 win32/config.h.win32.in         |  158 ---------------------------
 win32/create-lists-msvc.mak     |  147 -------------------------
 win32/create-lists.bat          |   42 -------
 win32/detectenv-msvc.mak        |  146 -------------------------
 win32/generate-msvc.mak         |   39 ------
 win32/hb-introspection-msvc.mak |   42 -------
 win32/info-msvc.mak             |  162 ----------------------------
 win32/install.mak               |   25 ----
 win32/introspection-msvc.mak    |   73 ------------
 win32/pc_base.py                |  124 ---------------------
 win32/replace.py                |  115 --------------------
 win32/sed-enums-srcs.py         |   36 ------
 win32/setup.py                  |   62 ----------
 22 files changed, 9 insertions(+), 1750 deletions(-)

New commits:
commit dfeccd073a5e78f6a2c630355c04121b70d2b4aa
Author: ebraminio <ebrahim at gnu.org>
Date:   Thu Oct 12 12:11:47 2017 +0330

    Remove nmake port of harfbuzz (#562)

diff --git a/BUILD.md b/BUILD.md
index 7518c2e4..370c997a 100644
--- a/BUILD.md
+++ b/BUILD.md
@@ -5,7 +5,13 @@ Cairo, and GLib. For example, on Ubuntu / Debian, you would do:
 whereas on Fedora, RHEL, CentOS, and other Red Hat based systems you would do:
 * sudo yum install gcc gcc-c++ freetype-devel glib2-devel cairo-devel
 
-on the Mac, using MacPorts:
+on Windows, consider using [vcpkg](https://github.com/Microsoft/vcpkg),
+provided by Microsoft, for building HarfBuzz and other open-source libraries
+but if you need to build harfbuzz from source, put ragel binary on your
+PATH and follow appveyor CI's cmake
+[https://github.com/behdad/harfbuzz/blob/master/appveyor.yml](build steps).
+
+on macOS, using MacPorts:
 * sudo port install freetype glib2 cairo
 
 or using Homebrew:
@@ -14,9 +20,7 @@ or using Homebrew:
 If you are using a tarball, you can now proceed to running configure and make
 as with any other standard package. That should leave you with a shared
 library in src/, and a few utility programs including hb-view and hb-shape
-under util/.  From the tarball, NMake Makefiles are also provided in win32/,
-which supports building HarfBuzz using Visual Studio, with a README.txt that
-gives instructions on building using NMake.
+under util/.
 If you are bootstraping from git, you need a few more tools before you can
 run autogen.sh for the first time. Namely, pkg-config and ragel. Again,
 on Ubuntu / Debian:
diff --git a/Makefile.am b/Makefile.am
index 1755b73b..07b38c28 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -4,7 +4,7 @@ NULL =
 
 ACLOCAL_AMFLAGS = -I m4
 
-SUBDIRS = src util test docs win32
+SUBDIRS = src util test docs
 
 EXTRA_DIST = \
 	autogen.sh \
diff --git a/appveyor.yml b/appveyor.yml
index 3d3f7774..c27a899f 100644
--- a/appveyor.yml
+++ b/appveyor.yml
@@ -15,23 +15,6 @@ environment:
       platform: ARM
       configuration: Debug
 
-    - compiler: nmake
-      ARCH: amd64
-      VCPKG_ARCH: x64-windows
-      CFG: debug
-    - compiler: nmake
-      ARCH: x86
-      VCPKG_ARCH: x86-windows
-      CFG: debug
-#    - compiler: nmake
-#      ARCH: amd64
-#      VCPKG_ARCH: x64-windows
-#      CFG: release
-#    - compiler: nmake
-#      ARCH: x86
-#      VCPKG_ARCH: x86-windows
-#      CFG: release
-
     - compiler: msys2
       MINGW_PREFIX: /c/msys2/mingw64/
       MINGW_CHOST: x86_64-w64-mingw32
@@ -44,14 +27,6 @@ environment:
 install:
   - C:\msys64\usr\bin\bash -lc "pacman --noconfirm -S mingw-w64-x86_64-ragel"
 
-  - 'if "%compiler%"=="nmake" call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" %ARCH%'
-#  - 'if "%compiler%"=="nmake" git clone https://github.com/Microsoft/vcpkg'
-#  - 'if "%compiler%"=="nmake" cd vcpkg'
-#  - 'if "%compiler%"=="nmake" powershell -exec bypass scripts\bootstrap.ps1'
-#  - 'if "%compiler%"=="nmake" vcpkg install freetype:%VCPKG_ARCH%'
-#  - 'if "%compiler%"=="nmake" copy installed\%VCPKG_ARCH%\debug\lib\freetyped.lib installed\%VCPKG_ARCH%\lib'
-#  - 'if "%compiler%"=="nmake" cd ..'
-
 build_script:
   - 'if "%compiler%"=="cmake" md build'
   - 'if "%compiler%"=="cmake" cd build'
@@ -59,11 +34,6 @@ build_script:
   - 'if "%compiler%"=="cmake" cmake -DHB_HAVE_UNISCRIBE=ON -DHB_HAVE_DIRECTWRITE=ON -G "%generator%" ../'
   - 'if "%compiler%"=="cmake" msbuild harfbuzz.sln /p:Configuration=%configuration% /p:Platform=%platform%'
 
-  - 'if "%compiler%"=="nmake" C:\msys64\usr\bin\bash -lc "cd $APPVEYOR_BUILD_FOLDER; PATH=$PATH:/mingw64/bin:/mingw32/bin; ./autogen.sh; make distdir"'
-  - 'if "%compiler%"=="nmake" cd harfbuzz-*\win32'
-  - 'if "%compiler%"=="nmake" nmake /f Makefile.vc CFG=%CFG% UNISCRIBE=1 DIRECTWRITE=1' # FREETYPE=1 FREETYPE_DIR=..\..\vcpkg\installed\%VCPKG_ARCH%\include ADDITIONAL_LIB_DIR=..\..\vcpkg\installed\%VCPKG_ARCH%\lib'
-  - 'if "%compiler%"=="nmake" nmake /f Makefile.vc CFG=%CFG% UNISCRIBE=1 DIRECTWRITE=1 install' # FREETYPE=1 install'
-
   - 'if "%compiler%"=="msys2" C:\msys64\usr\bin\bash -lc "pacman --noconfirm -S mingw-w64-$MSYS2_ARCH-{freetype,cairo,icu,gettext,gobject-introspection,gcc,gcc-libs,glib2,graphite2,pkg-config}"'
   - 'if "%compiler%"=="msys2" C:\msys64\usr\bin\bash -lc "cd $APPVEYOR_BUILD_FOLDER; PATH=$PATH:/mingw64/bin:/mingw32/bin; ./autogen.sh --with-uniscribe --with-freetype --with-glib --with-gobject --with-cairo --with-icu --with-graphite2 --build=%MINGW_CHOST% --host=%MINGW_CHOST% --prefix=%MINGW_PREFIX%; make; make check || (cat */test-suite.log test/*/test-suite.log && false)"'
 
diff --git a/configure.ac b/configure.ac
index d65cae8c..7b947f27 100644
--- a/configure.ac
+++ b/configure.ac
@@ -494,8 +494,6 @@ test/fuzzing/Makefile
 test/shaping/Makefile
 docs/Makefile
 docs/version.xml
-win32/Makefile
-win32/config.h.win32
 ])
 
 AC_OUTPUT
diff --git a/win32/Makefile.am b/win32/Makefile.am
deleted file mode 100644
index 79ce999d..00000000
--- a/win32/Makefile.am
+++ /dev/null
@@ -1,18 +0,0 @@
-EXTRA_DIST = \
-	build-rules-msvc.mak \
-	config-msvc.mak \
-	config.h.win32 \
-	create-lists.bat \
-	create-lists-msvc.mak \
-	detectenv-msvc.mak \
-	generate-msvc.mak \
-	hb-introspection-msvc.mak \
-	info-msvc.mak \
-	install.mak \
-	introspection-msvc.mak \
-	Makefile.vc \
-	README.txt \
-	replace.py \
-	sed-enums-srcs.py
-
--include $(top_srcdir)/git.mk
diff --git a/win32/Makefile.vc b/win32/Makefile.vc
deleted file mode 100644
index 05778ae5..00000000
--- a/win32/Makefile.vc
+++ /dev/null
@@ -1,67 +0,0 @@
-# NMake Makefile for building HarfBuzz as a DLL on Windows
-
-# The items below this line should not be changed, unless one is maintaining
-# the NMake Makefiles.  Customizations can be done in the following NMake Makefile
-# portions (please see comments in the these files to see what can be customized):
-#
-# detectenv-msvc.mak
-# config-msvc.mak
-
-!include detectenv-msvc.mak
-
-# Include the Makefile portions with the source listings
-!include ..\src\Makefile.sources
-!include ..\src\hb-ucdn\Makefile.sources
-!include ..\util\Makefile.sources
-
-# We need to include the sources in ..\src\hb-ucdn indirectly
-!if [call create-lists.bat header hb_ucdn_srcs.mak hb_ucdn_SRCS]
-!endif
-
-!if [for %c in ($(LIBHB_UCDN_sources)) do @call create-lists.bat file hb_ucdn_srcs.mak hb-ucdn\%c]
-!endif
-
-!if [call create-lists.bat footer hb_ucdn_srcs.mak]
-!endif
-
-!include hb_ucdn_srcs.mak
-
-!if [del /f /q hb_ucdn_srcs.mak]
-!endif
-
-# Include the Makefile portion that enables features based on user input
-!include config-msvc.mak
-
-!if "$(VALID_CFGSET)" == "TRUE"
-
-# Include the Makefile portion to convert the source and header lists
-# into the lists we need for compilation and introspection
-!include create-lists-msvc.mak
-
-all: $(HB_LIBS) $(HB_UTILS) $(EXTRA_TARGETS) all-build-info
-
-tests: all $(HB_TESTS)
-
-# Include the build rules for sources, DLLs and executables
-!include build-rules-msvc.mak
-
-# Include the rules for build directory creation and code generation
-!include generate-msvc.mak
-
-# Generate the introspection files
-
-!if "$(INTROSPECTION)" == "1"
-# Include the rules for building the introspection files
-!include introspection-msvc.mak
-!include hb-introspection-msvc.mak
-!endif
-
-!include install.mak
-
-!else
-all: help
-	@echo You need to specify a valid configuration, via
-	@echo CFG=release or CFG=debug
-!endif
-
-!include info-msvc.mak
diff --git a/win32/README.txt b/win32/README.txt
deleted file mode 100644
index 185a44c3..00000000
--- a/win32/README.txt
+++ /dev/null
@@ -1,97 +0,0 @@
-Instructions for building HarfBuzz on Visual Studio
-===================================================
-Building the HarfBuzz DLL on Windows is now also supported using Visual Studio
-versions 2008 through 2015, in both 32-bit and 64-bit (x64) flavors, via NMake
-Makefiles.
-
-The following are instructions for performing such a build, as there is a
-number of build configurations supported for the build.  Note that for all
-build configurations, the OpenType and Simple TrueType layout (fallback)
-backends are enabled, and this is the base configuration that is built if no
-options (see below) are specified.  A 'clean' target is provided-it is recommended
-that one cleans the build and redo the build if any configuration option changed.
-An 'install' target is also provided to copy the built items in their appropriate
-locations under $(PREFIX), which is described below.  A 'reallyclean' target is
-provided that not only does what is done for the 'clean' target, but also removes
-the sources/headers that are generated from the Ragel sources.  Therefore, if one
-is not building from a release tarball, or is rebuilding after using the 'reallyclean'
-target or when the Ragel (*.rl) sources are updated, the Ragel state machine
-compiler (ragel.exe) is needed, and needs to be passed in via RAGEL=<path_to_ragel_exe>
-if ragel.exe is not already in the PATH.
-
-We now support building from a GIT checkout via NMake for convenience.  In addition to
-the requirements as outlined in the later part of this file, you will need to run the
-setup.py (Python 2.7.x or later) script to generate the headers (src\hb-version.h and
-win32\config.h.win32) that are normally shipped in a release tarball before running
-NMake, and you will need to pass RAGEL=<path_to_ragel_exe> if the Ragel state machine
-compiler (ragel.exe) is not in your PATH when invoking NMake.  Note that the
-'reallyclean' target does not remove these 2 generated headers, so re-run the setup.py
-script if necessary.
-
-Invoke the build by issuing the command:
-nmake /f Makefile.vc CFG=[release|debug] [PREFIX=...] <option1=1 option2=1 ...>
-where:
-
-CFG: Required.  Choose from a release or debug build.  Note that 
-     all builds generate a .pdb file for each .dll and .exe built--this refers
-     to the C/C++ runtime that the build uses.
-
-PREFIX: Optional.  Base directory of where the third-party headers, libraries
-        and needed tools can be found, i.e. headers in $(PREFIX)\include,
-        libraries in $(PREFIX)\lib and tools in $(PREFIX)\bin.  If not
-        specified, $(PREFIX) is set as $(srcroot)\..\vs$(X)\$(platform), where
-        $(platform) is win32 for 32-bit builds or x64 for 64-bit builds, and
-        $(X) is the short version of the Visual Studio used, as follows:
-        2008: 9
-        2010: 10
-        2012: 11
-        2013: 12
-        2015: 14
-        2017: 15
-
-Explanation of options, set by <option>=1:
-------------------------------------------
-GLIB: Enable GLib support in HarfBuzz, which also uses the GLib unicode
-      callback if the bundled UCDN unicode callback is disabled.  This requires the
-      GLib libraries, and is required for building all tool and test programs.
-
-GOBJECT: Enable building the HarfBuzz-GObject DLL, and thus implies GLib
-         support.  This requires the GObject libraries and glib-mkenums script,
-         along with Python (when using GObject/GLib 2.53.4 or later) or PERL
-         (when using GObject/GLib 2.53.3 or earlier) to generate the enum
-         sources and headers, which is required for the build.
-
-INTROSPECTION: Enable build of introspection files, for making HarfBuzz
-               bindings for other programming languages available, such as
-               Python, available.  This requires the GObject-Introspection
-               libraries and tools, along with the Python interpretor that was
-               used during the build of GObject-Introspection.  Please see
-               $(srcroot)\README.python for more related details.  This implies
-               the build of the HarfBuzz-GObject DLL, along with GLib support.
-
-FREETYPE: Enable the FreeType font callbacks.  Requires the FreeType2 library.
-
-CAIRO: Enable Cairo support.  Requires the Cairo library.
-
-CAIRO_FT: Enable the build of the hb-view tool, which makes use of Cairo, and
-          thus implies FreeType font callback support and Cairo support.
-          Requires Cairo libraries built with FreeType support.  Note that the
-          hb-view tool requires GLib support as well.
-
-GRAPHITE2: Enable the Graphite2 shaper, requires the SIL Graphite2 library.
-
-ICU: Enables the build of ICU Unicode functions. Requires the ICU libraries.
-
-UNISCRIBE: Enable Uniscribe platform shaper support.
-
-DIRECTWRITE: Enable DirectWrite platform shaper support,
-             requires a rather recent Windows SDK, and at least Windows Vista/
-             Server 2008 with SP2 and platform update.
-
-PYTHON: Full path to the Python interpretor to be used, if it is not in %PATH%.
-
-PERL: Full path to the PERL interpretor to be used, if it is not in %PATH%.
-
-RAGEL: Full path to the Ragel state machine compiler executable, if not in %PATH%
-
-LIBTOOL_DLL_NAME: Enable libtool-style DLL names.
diff --git a/win32/build-rules-msvc.mak b/win32/build-rules-msvc.mak
deleted file mode 100644
index 5408ead6..00000000
--- a/win32/build-rules-msvc.mak
+++ /dev/null
@@ -1,130 +0,0 @@
-# NMake Makefile portion for compilation rules
-# Items in here should not need to be edited unless
-# one is maintaining the NMake build files.  The format
-# of NMake Makefiles here are different from the GNU
-# Makefiles.  Please see the comments about these formats.
-
-# Inference rules for compiling the .obj files.
-# Used for libs and programs with more than a single source file.
-# Format is as follows
-# (all dirs must have a trailing '\'):
-#
-# {$(srcdir)}.$(srcext){$(destdir)}.obj::
-# 	$(CC)|$(CXX) $(cflags) /Fo$(destdir) /c @<<
-# $<
-# <<
-{..\src\}.cc{$(CFG)\$(PLAT)\harfbuzz\}.obj::
-	$(CXX) $(CFLAGS) $(HB_DEFINES) $(HB_LIB_CFLAGS) /Fo$(CFG)\$(PLAT)\harfbuzz\ /c @<<
-$<
-<<
-
-{..\src\hb-ucdn\}.c{$(CFG)\$(PLAT)\harfbuzz\}.obj::
-	$(CC) $(CFLAGS) /Fo$(CFG)\$(PLAT)\harfbuzz\ /c @<<
-$<
-<<
-
-{..\util\}.cc{$(CFG)\$(PLAT)\util\}.obj::
-	$(CXX) $(CFLAGS) $(HB_DEFINES) $(HB_CFLAGS) /Fo$(CFG)\$(PLAT)\util\ /c @<<
-$<
-<<
-
-# Inference rules for building the test programs
-# Used for programs with a single source file.
-# Format is as follows
-# (all dirs must have a trailing '\'):
-#
-# {$(srcdir)}.$(srcext){$(destdir)}.exe::
-# 	$(CC)|$(CXX) $(cflags) $< /Fo$*.obj  /Fe$@ [/link $(linker_flags) $(dep_libs)]
-{..\src\}.cc{$(CFG)\$(PLAT)\}.exe:
-	$(CXX) $(CFLAGS) $(HB_DEFINES) $(HB_CFLAGS) $< /Fo$*.obj  /Fe$@ /link $(LDFLAGS) $(CFG)\$(PLAT)\harfbuzz.lib $(HB_TESTS_DEP_LIBS)
-
-{..\test\api\}.c{$(CFG)\$(PLAT)\}.exe:
-	$(CXX) $(CFLAGS) $(HB_DEFINES) $(HB_CFLAGS) /DSRCDIR="\"../../../test/api\"" $< /Fo$*.obj /Fe$@ /link $(LDFLAGS) $(CFG)\$(PLAT)\harfbuzz.lib $(HB_TESTS_DEP_LIBS)
-
-# Rules for building .lib files
-$(CFG)\$(PLAT)\harfbuzz.lib: $(HARFBUZZ_DLL_FILENAME).dll
-$(CFG)\$(PLAT)\harfbuzz-gobject.lib: $(HARFBUZZ_GOBJECT_DLL_FILENAME).dll
-
-# Rules for linking DLLs
-# Format is as follows (the mt command is needed for MSVC 2005/2008 builds):
-# $(dll_name_with_path): $(dependent_libs_files_objects_and_items)
-#	link /DLL [$(linker_flags)] [$(dependent_libs)] [/def:$(def_file_if_used)] [/implib:$(lib_name_if_needed)] -out:$@ @<<
-# $(dependent_objects)
-# <<
-# 	@-if exist $@.manifest mt /manifest $@.manifest /outputresource:$@;2
-$(HARFBUZZ_DLL_FILENAME).dll: config.h $(HB_RAGEL_GENERATED_ACTUAL_SOURCES) $(harfbuzz_dll_OBJS) $(CFG)\$(PLAT)\harfbuzz
-	link /DLL $(LDFLAGS) $(HB_DEP_LIBS) /implib:$(CFG)\$(PLAT)\harfbuzz.lib -out:$@ @<<
-$(harfbuzz_dll_OBJS)
-<<
-	@-if exist $@.manifest mt /manifest $@.manifest /outputresource:$@;2
-
-$(HARFBUZZ_GOBJECT_DLL_FILENAME).dll: $(CFG)\$(PLAT)\harfbuzz.lib $(harfbuzz_gobject_OBJS) $(CFG)\$(PLAT)\harfbuzz-gobject
-	link /DLL $(LDFLAGS) $(CFG)\$(PLAT)\harfbuzz.lib $(HB_GOBJECT_DEP_LIBS) /implib:$(CFG)\$(PLAT)\harfbuzz-gobject.lib -out:$@ @<<
-$(harfbuzz_gobject_OBJS)
-<<
-	@-if exist $@.manifest mt /manifest $@.manifest /outputresource:$@;2
-
-# Rules for linking Executables
-# Format is as follows (the mt command is needed for MSVC 2005/2008 builds):
-# $(dll_name_with_path): $(dependent_libs_files_objects_and_items)
-#	link [$(linker_flags)] [$(dependent_libs)] -out:$@ @<<
-# $(dependent_objects)
-# <<
-# 	@-if exist $@.manifest mt /manifest $@.manifest /outputresource:$@;1
-$(CFG)\$(PLAT)\hb-view.exe: $(CFG)\$(PLAT)\harfbuzz.lib $(CFG)\$(PLAT)\util $(hb_view_OBJS)
-	link $(LDFLAGS) $(CFG)\$(PLAT)\harfbuzz.lib $(HB_UTILS_DEP_LIBS) -out:$@ @<<
-$(hb_view_OBJS)
-<<
-	@-if exist $@.manifest mt /manifest $@.manifest /outputresource:$@;1
-
-$(CFG)\$(PLAT)\hb-shape.exe: $(CFG)\$(PLAT)\harfbuzz.lib $(CFG)\$(PLAT)\util $(hb_shape_OBJS)
-	link $(LDFLAGS) $(CFG)\$(PLAT)\harfbuzz.lib $(HB_UTILS_DEP_LIBS) -out:$@ @<<
-$(hb_shape_OBJS)
-<<
-	@-if exist $@.manifest mt /manifest $@.manifest /outputresource:$@;1
-
-$(CFG)\$(PLAT)\hb-ot-shape-closure.exe: $(CFG)\$(PLAT)\harfbuzz.lib $(CFG)\$(PLAT)\util $(hb_ot_shape_closure_OBJS)
-	link $(LDFLAGS) $(CFG)\$(PLAT)\harfbuzz.lib $(HB_UTILS_DEP_LIBS) -out:$@ @<<
-$(hb_ot_shape_closure_OBJS)
-<<
-	@-if exist $@.manifest mt /manifest $@.manifest /outputresource:$@;1
-
-# Other .obj files requiring individual attention, that could not be covered by the inference rules.
-# Format is as follows (all dirs must have a trailing '\'):
-#
-# $(obj_file):
-# 	$(CC)|$(CXX) $(cflags) /Fo$(obj_destdir) /c @<<
-# $(srcfile)
-# <<
-$(CFG)\$(PLAT)\harfbuzz-gobject\hb-gobject-structs.obj:	$(CFG)\$(PLAT)\harfbuzz-gobject $(HB_GOBJECT_ENUM_GENERATED_SOURCES)
-	$(CXX) $(CFLAGS) $(HB_DEFINES) $(HB_LIB_CFLAGS) /I$(CFG)\$(PLAT)\harfbuzz-gobject /Fo$(CFG)\$(PLAT)\harfbuzz-gobject\ /c @<<
-..\src\hb-gobject-structs.cc
-<<
-
-$(CFG)\$(PLAT)\harfbuzz-gobject\hb-gobject-enums.obj: $(CFG)\$(PLAT)\harfbuzz-gobject $(HB_GOBJECT_ENUM_GENERATED_SOURCES)
-	$(CXX) $(CFLAGS) $(HB_DEFINES) $(HB_LIB_CFLAGS) /I$(CFG)\$(PLAT)\harfbuzz-gobject /Fo$(CFG)\$(PLAT)\harfbuzz-gobject\ /c @<<
-$(CFG)\$(PLAT)\harfbuzz-gobject\hb-gobject-enums.cc
-<<
-
-clean:
-	@-if exist $(CFG)\$(PLAT)\HarfBuzz-0.0.typelib del /f /q $(CFG)\$(PLAT)\HarfBuzz-0.0.typelib
-	@-if exist $(CFG)\$(PLAT)\HarfBuzz-0.0.gir del /f /q $(CFG)\$(PLAT)\HarfBuzz-0.0.gir
-	@-if exist $(CFG)\$(PLAT)\hb_list del /f /q $(CFG)\$(PLAT)\hb_list
-	@-del /f /q $(CFG)\$(PLAT)\*.pdb
-	@-if exist $(CFG)\$(PLAT)\.exe.manifest del /f /q $(CFG)\$(PLAT)\*.exe.manifest
-	@-if exist $(CFG)\$(PLAT)\.exe del /f /q $(CFG)\$(PLAT)\*.exe
-	@-del /f /q $(CFG)\$(PLAT)\*.dll.manifest
-	@-del /f /q $(CFG)\$(PLAT)\*.dll
-	@-del /f /q $(CFG)\$(PLAT)\*.ilk
-	@-del /f /q $(CFG)\$(PLAT)\*.obj
-	@-if exist $(CFG)\$(PLAT)\util del /f /q $(CFG)\$(PLAT)\util\*.obj
-	@-if exist $(CFG)\$(PLAT)\harfbuzz-gobject del /f /q $(CFG)\$(PLAT)\harfbuzz-gobject\*.obj
-	@-del /f /q $(CFG)\$(PLAT)\harfbuzz\*.obj
-	@-rmdir /s /q $(CFG)\$(PLAT)
-	@-if exist $(CFG)\$(PLAT)\harfbuzz-gobject\hb-gobject-enums.h del $(CFG)\$(PLAT)\harfbuzz-gobject\hb-gobject-enums.h
-	@-if exist $(CFG)\$(PLAT)\harfbuzz-gobject\hb-gobject-enums.cc del $(CFG)\$(PLAT)\harfbuzz-gobject\hb-gobject-enums.cc
-	@-del vc$(VSVER)0.pdb
-	@-del config.h
-
-reallyclean: clean
-	@-del /f /q $(HB_RAGEL_GENERATED_ACTUAL_SOURCES)
diff --git a/win32/config-msvc.mak b/win32/config-msvc.mak
deleted file mode 100644
index dfdf3cd9..00000000
--- a/win32/config-msvc.mak
+++ /dev/null
@@ -1,230 +0,0 @@
-# NMake Makefile portion for enabling features for Windows builds
-
-# You may change these lines to customize the .lib files that will be linked to
-# Additional Libraries for building HarfBuzz-ICU
-# icudt.lib may be required for static ICU builds
-HB_ICU_DEP_LIBS = icuuc.lib
-
-# GLib is required for all utility programs and tests
-HB_GLIB_LIBS = glib-2.0.lib
-
-# Needed for building HarfBuzz-GObject
-HB_GOBJECT_DEP_LIBS = gobject-2.0.lib $(HB_GLIB_LIBS)
-
-# Freetype is needed for building FreeType support and hb-view
-!if "$(CFG)" == "debug"
-FREETYPE_LIB = freetyped.lib
-!else
-FREETYPE_LIB = freetype.lib
-!endif
-
-# Cairo is needed for building hb-view
-CAIRO_LIB = cairo.lib
-
-# Graphite2 is needed for building SIL Graphite2 support
-GRAPHITE2_LIB = graphite2.lib
-
-# Uniscribe is needed for Uniscribe shaping support
-UNISCRIBE_LIB = usp10.lib gdi32.lib rpcrt4.lib user32.lib
-
-# Directwrite is needed for DirectWrite shaping support
-DIRECTWRITE_LIB = dwrite.lib
-
-# Full path to Ragel state machine compiler if not already in PATH
-!if "$(RAGEL)" == ""
-RAGEL = ragel
-!endif
-
-# Please do not change anything beneath this line unless maintaining the NMake Makefiles
-# Bare minimum features and sources built into HarfBuzz on Windows
-HB_DEFINES =
-HB_CFLAGS = /DHAVE_CONFIG_H
-HB_UCDN_CFLAGS = /I..\src\hb-ucdn
-HB_SOURCES =	\
-	$(HB_BASE_sources)			\
-	$(HB_BASE_RAGEL_GENERATED_sources)	\
-	$(HB_FALLBACK_sources)			\
-	$(HB_OT_sources)			\
-	$(HB_OT_RAGEL_GENERATED_sources)
-
-
-HB_HEADERS =	\
-	$(HB_BASE_headers)		\
-	$(HB_NODIST_headers)	\
-	$(HB_OT_headers)
-
-RAGEL_RAW_GEN_SRCS = $(HB_OT_RAGEL_GENERATED_sources) $(HB_BASE_RAGEL_GENERATED_sources)
-
-# Minimal set of (system) libraries needed for the HarfBuzz DLL
-HB_DEP_LIBS =
-
-# We build the HarfBuzz DLL/LIB at least
-HB_LIBS = $(CFG)\$(PLAT)\harfbuzz.lib
-
-# Note: All the utility and test programs require GLib support to be present!
-HB_UTILS =
-HB_UTILS_DEP_LIBS = $(HB_GLIB_LIBS)
-HB_TESTS =
-HB_TESTS_DEP_LIBS = $(HB_GLIB_LIBS)
-
-# Use libtool-style DLL names, if desired
-!if "$(LIBTOOL_DLL_NAME)" == "1"
-HARFBUZZ_DLL_FILENAME = $(CFG)\$(PLAT)\libharfbuzz-0
-HARFBUZZ_GOBJECT_DLL_FILENAME = $(CFG)\$(PLAT)\libharfbuzz-gobject-0
-!else
-HARFBUZZ_DLL_FILENAME = $(CFG)\$(PLAT)\harfbuzz-vs$(VSVER)
-HARFBUZZ_GOBJECT_DLL_FILENAME = $(CFG)\$(PLAT)\harfbuzz-gobject-vs$(VSVER)
-!endif
-
-# Enable Introspection (enables HarfBuzz-Gobject as well)
-!if "$(INTROSPECTION)" == "1"
-GOBJECT = 1
-CHECK_PACKAGE = gobject-2.0
-EXTRA_TARGETS = $(CFG)\$(PLAT)\HarfBuzz-0.0.gir $(CFG)\$(PLAT)\HarfBuzz-0.0.typelib
-!else
-EXTRA_TARGETS =
-!endif
-
-# Enable HarfBuzz-GObject (enables GLib support as well)
-!if "$(GOBJECT)" == "1"
-GLIB = 1
-HB_LIBS =	\
-	$(HB_LIBS)	\
-	$(CFG)\$(PLAT)\harfbuzz-gobject.lib
-
-HB_GOBJECT_ENUM_GENERATED_SOURCES = \
-	$(CFG)\$(PLAT)\harfbuzz-gobject\hb-gobject-enums.cc	\
-	$(CFG)\$(PLAT)\harfbuzz-gobject\hb-gobject-enums.h
-
-!endif
-
-# Enable cairo-ft (enables cairo and freetype as well)
-!if "$(CAIRO_FT)" == "1"
-HB_DEFINES = $(HB_DEFINES) /DHAVE_CAIRO_FT=1
-CAIRO = 1
-FREETYPE = 1
-!if "$(GLIB)" == "1"
-HB_UTILS = \
-	$(HB_UTILS)	\
-	$(CFG)\$(PLAT)\hb-view.exe
-
-HB_UTILS_DEP_LIBS = $(HB_UTILS_DEP_LIBS) $(CAIRO_LIB) $(FREETYPE_LIB)
-!else
-!if [echo Warning: GLib support not enabled, hb-view not built]
-!endif
-!endif
-!endif
-
-# Enable cairo
-!if "$(CAIRO)" == "1"
-HB_DEFINES = $(HB_DEFINES) /DHAVE_CAIRO=1
-!endif
-
-# Enable freetype if desired
-!if "$(FREETYPE)" == "1"
-!if "$(FREETYPE_DIR)" != ""
-HB_CFLAGS = $(HB_CFLAGS) /I$(FREETYPE_DIR)
-!endif
-HB_DEFINES = $(HB_DEFINES) /DHAVE_FREETYPE=1
-HB_SOURCES = $(HB_SOURCES) $(HB_FT_sources)
-HB_HEADERS = $(HB_HEADERS) $(HB_FT_headers)
-HB_DEP_LIBS = $(HB_DEP_LIBS) $(FREETYPE_LIB)
-!endif
-
-# Enable graphite2 if desired
-!if "$(GRAPHITE2)" == "1"
-HB_DEFINES = $(HB_DEFINES) /DHAVE_GRAPHITE2=1
-HB_SOURCES = $(HB_SOURCES) $(HB_GRAPHITE2_sources)
-HB_HEADERS = $(HB_HEADERS) $(HB_GRAPHITE2_headers)
-HB_DEP_LIBS = $(HB_DEP_LIBS) $(GRAPHITE2_LIB)
-!endif
-
-# Always enable UCDN unless explicitly disabled
-!if "$(NO_UCDN)" != "1"
-HB_DEFINES = $(HB_DEFINES) /DHAVE_UCDN=1
-HB_CFLAGS =		\
-	$(HB_CFLAGS)		\
-	$(HB_UCDN_CFLAGS)
-
-HB_SOURCES = $(HB_SOURCES) $(hb_ucdn_SRCS) $(HB_UCDN_sources)
-!endif
-
-# Enable GLib if desired
-!if "$(GLIB)" == "1"
-HB_DEFINES = $(HB_DEFINES) /DHAVE_GLIB=1
-HB_CFLAGS =	\
-	$(HB_CFLAGS)					\
-	/FImsvc_recommended_pragmas.h	\
-	/I$(PREFIX)\include\glib-2.0	\
-	/I$(PREFIX)\lib\glib-2.0\include
-
-HB_SOURCES = $(HB_SOURCES) $(HB_GLIB_sources)
-HB_HEADERS = $(HB_HEADERS) $(HB_GLIB_headers)
-HB_DEP_LIBS = $(HB_DEP_LIBS) $(HB_GLIB_LIBS)
-
-HB_UTILS = \
-	$(HB_UTILS)					\
-	$(CFG)\$(PLAT)\hb-shape.exe	\
-	$(CFG)\$(PLAT)\hb-ot-shape-closure.exe
-
-HB_TESTS = \
-	$(HB_TESTS)	\
-	$(CFG)\$(PLAT)\main.exe						\
-	$(CFG)\$(PLAT)\test.exe						\
-	$(CFG)\$(PLAT)\test-buffer-serialize.exe	\
-	$(CFG)\$(PLAT)\test-size-params.exe			\
-	$(CFG)\$(PLAT)\test-would-substitute.exe	\
-	$(CFG)\$(PLAT)\test-blob.exe				\
-	$(CFG)\$(PLAT)\test-buffer.exe				\
-	$(CFG)\$(PLAT)\test-common.exe				\
-	$(CFG)\$(PLAT)\test-font.exe				\
-	$(CFG)\$(PLAT)\test-object.exe				\
-	$(CFG)\$(PLAT)\test-set.exe					\
-	$(CFG)\$(PLAT)\test-shape.exe				\
-	$(CFG)\$(PLAT)\test-unicode.exe				\
-	$(CFG)\$(PLAT)\test-version.exe
-
-!else
-
-# Define some of the macros in GLib's msvc_recommended_pragmas.h
-# to reduce some unneeded build-time warnings
-HB_CFLAGS =	\
-	$(HB_CFLAGS)			\
-	/wd4244				\
-	/D_CRT_SECURE_NO_WARNINGS	\
-	/D_CRT_NONSTDC_NO_WARNINGS
-
-!endif
-
-!if "$(ICU)" == "1"
-# use ICU for Unicode functions
-# and define some of the macros in GLib's msvc_recommended_pragmas.h
-# to reduce some unneeded build-time warnings
-HB_DEFINES = $(HB_DEFINES) /DHAVE_ICU=1 /DHAVE_ICU_BUILTIN=1
-
-# We don't want ICU to re-define int8_t in VS 2008, will cause build breakage
-# as we define it in hb-common.h, and we ought to use the definitions there.
-!if "$(VSVER)" == "9"
-HB_CFLAGS =	$(HB_CFLAGS) /DU_HAVE_INT8_T
-!endif
-
-HB_SOURCES = $(HB_SOURCES) $(HB_ICU_sources)
-HB_HEADERS = $(HB_HEADERS) $(HB_ICU_headers)
-HB_DEP_LIBS = $(HB_DEP_LIBS) $(HB_ICU_DEP_LIBS)
-!endif
-
-!if "$(UNISCRIBE)" == "1"
-HB_CFLAGS = $(HB_CFLAGS) /DHAVE_UNISCRIBE
-HB_SOURCES = $(HB_SOURCES) $(HB_UNISCRIBE_sources)
-HB_HEADERS = $(HB_HEADERS) $(HB_UNISCRIBE_headers)
-HB_DEP_LIBS = $(HB_DEP_LIBS) $(UNISCRIBE_LIB)
-!endif
-
-!if "$(DIRECTWRITE)" == "1"
-HB_CFLAGS = $(HB_CFLAGS) /DHAVE_DIRECTWRITE
-HB_SOURCES = $(HB_SOURCES) $(HB_DIRECTWRITE_sources)
-HB_HEADERS = $(HB_HEADERS) $(HB_DIRECTWRITE_headers)
-HB_DEP_LIBS = $(HB_DEP_LIBS) $(DIRECTWRITE_LIB)
-!endif
-
-HB_LIB_CFLAGS = $(HB_CFLAGS) /DHB_EXTERN="__declspec (dllexport) extern"
diff --git a/win32/config.h.win32.in b/win32/config.h.win32.in
deleted file mode 100644
index 435c1bb2..00000000
--- a/win32/config.h.win32.in
+++ /dev/null
@@ -1,158 +0,0 @@
-/* config.h.in.  Generated from configure.ac by autoheader.  */
-
-/* The normal alignment of `struct{char;}', in bytes. */
-#define ALIGNOF_STRUCT_CHAR__ 1
-
-/* Define to 1 if you have the `atexit' function. */
-#define HAVE_ATEXIT 1
-
-/* Have cairo graphics library */
-/* #undef HAVE_CAIRO */
-
-/* Have cairo-ft support in cairo graphics library */
-/* #undef HAVE_CAIRO_FT */
-
-/* Have Core Text backend */
-/* #undef HAVE_CORETEXT */
-
-/* Define to 1 if you have the <dlfcn.h> header file. */
-/* #undef HAVE_DLFCN_H */
-
-/* Have DirectWrite Library */
-/* #undef HAVE_DIRECTWRITE */
-
-/* Have simple TrueType Layout backend */
-#define HAVE_FALLBACK 1
-
-/* Have fontconfig library */
-/* #undef HAVE_FONTCONFIG */
-
-/* Have FreeType 2 library */
-/* #undef HAVE_FREETYPE */
-
-/* Define to 1 if you have the `getpagesize' function. */
-/* #undef HAVE_GETPAGESIZE */
-
-/* Have glib2 library */
-/* #undef HAVE_GLIB */
-
-/* Have gobject2 library */
-/* #undef HAVE_GOBJECT */
-
-/* Have Graphite2 library */
-/* #undef HAVE_GRAPHITE2 */
-
-/* Have ICU library */
-/* #undef HAVE_ICU */
-
-/* Have Intel __sync_* atomic primitives */
-/* #undef HAVE_INTEL_ATOMIC_PRIMITIVES */
-
-/* Define to 1 if you have the <inttypes.h> header file. */
-#if !defined (_MSC_VER) || (_MSC_VER >= 1800)
-#define HAVE_INTTYPES_H 1
-#endif
-
-/* Define to 1 if you have the `isatty' function. */
-#define HAVE_ISATTY 1
-
-/* Define to 1 if you have the <memory.h> header file. */
-#define HAVE_MEMORY_H 1
-
-/* Define to 1 if you have the `mmap' function. */
-/* #undef HAVE_MMAP */
-
-/* Define to 1 if you have the `mprotect' function. */
-/* #undef HAVE_MPROTECT */
-
-/* Have native OpenType Layout backend */
-#define HAVE_OT 1
-
-/* Have POSIX threads */
-/* #undef HAVE_PTHREAD */
-
-/* Have PTHREAD_PRIO_INHERIT. */
-/* #undef HAVE_PTHREAD_PRIO_INHERIT */
-
-/* Define to 1 if you have the <sched.h> header file. */
-/* #undef HAVE_SCHED_H */
-
-/* Have sched_yield */
-/* #undef HAVE_SCHED_YIELD */
-
-/* Have Solaris __machine_*_barrier and atomic_* operations */
-/* #undef HAVE_SOLARIS_ATOMIC_OPS */
-
-/* Define to 1 if you have the <stdint.h> header file. */
-#if !defined (_MSC_VER) || (_MSC_VER >= 1600)
-#define HAVE_STDINT_H 1
-#endif
-
-/* Define to 1 if you have the <stdlib.h> header file. */
-#define HAVE_STDLIB_H 1
-
-/* Define to 1 if you have the <strings.h> header file. */
-#ifndef _MSC_VER
-#define HAVE_STRINGS_H 1
-#endif
-
-/* Define to 1 if you have the <string.h> header file. */
-#define HAVE_STRING_H 1
-
-/* Define to 1 if you have the `sysconf' function. */
-/* #undef HAVE_SYSCONF */
-
-/* Define to 1 if you have the <sys/mman.h> header file. */
-/* #undef HAVE_SYS_MMAN_H */
-
-/* Define to 1 if you have the <sys/stat.h> header file. */
-#define HAVE_SYS_STAT_H 1
-
-/* Define to 1 if you have the <sys/types.h> header file. */
-#define HAVE_SYS_TYPES_H 1
-
-/* Have UCDN Unicode functions */
-/* #undef HAVE_UCDN */
-
-/* Have Uniscribe library */
-/* #undef HAVE_UNISCRIBE */
-
-/* Define to 1 if you have the <unistd.h> header file. */
-#ifndef _MSC_VER
-#define HAVE_UNISTD_H 1
-#endif
-
-/* Define to 1 if you have the <usp10.h> header file. */
-#define HAVE_USP10_H 1
-
-/* Define to 1 if you have the <windows.h> header file. */
-#define HAVE_WINDOWS_H 1
-
-/* Define to the sub-directory in which libtool stores uninstalled libraries.
-   */
-#define LT_OBJDIR ".libs/"
-
-/* Define to the address where bug reports for this package should be sent. */
-#define PACKAGE_BUGREPORT "@PACKAGE_BUGREPORT@"
-
-/* Define to the full name of this package. */
-#define PACKAGE_NAME "@PACKAGE_NAME@"
-
-/* Define to the full name and version of this package. */
-#define PACKAGE_STRING "@PACKAGE_NAME@ @PACKAGE_VERSION@"
-
-/* Define to the one symbol short name of this package. */
-#define PACKAGE_TARNAME "@PACKAGE_TARNAME@"
-
-/* Define to the home page for this package. */
-#define PACKAGE_URL "@PACKAGE_URL@"
-
-/* Define to the version of this package. */
-#define PACKAGE_VERSION "@PACKAGE_VERSION@"
-
-/* Define to necessary symbol if this constant uses a non-standard name on
-   your system. */
-/* #undef PTHREAD_CREATE_JOINABLE */
-
-/* Define to 1 if you have the ANSI C header files. */
-#define STDC_HEADERS 1
diff --git a/win32/create-lists-msvc.mak b/win32/create-lists-msvc.mak
deleted file mode 100644
index 2be0e987..00000000
--- a/win32/create-lists-msvc.mak
+++ /dev/null
@@ -1,147 +0,0 @@
-# Convert the source listing to object (.obj) listing in
-# another NMake Makefile module, include it, and clean it up.
-# This is a "fact-of-life" regarding NMake Makefiles...
-# This file does not need to be changed unless one is maintaining the NMake Makefiles
-
-# For those wanting to add things here:
-# To add a list, do the following:
-# # $(description_of_list)
-# if [call create-lists.bat header $(makefile_snippet_file) $(variable_name)]
-# endif
-#
-# if [call create-lists.bat file $(makefile_snippet_file) $(file_name)]
-# endif
-#
-# if [call create-lists.bat footer $(makefile_snippet_file)]
-# endif
-# ... (repeat the if [call ...] lines in the above order if needed)
-# !include $(makefile_snippet_file)
-#
-# (add the following after checking the entries in $(makefile_snippet_file) is correct)
-# (the batch script appends to $(makefile_snippet_file), you will need to clear the file unless the following line is added)
-#!if [del /f /q $(makefile_snippet_file)]
-#!endif
-
-# In order to obtain the .obj filename that is needed for NMake Makefiles to build DLLs/static LIBs or EXEs, do the following
-# instead when doing 'if [call create-lists.bat file $(makefile_snippet_file) $(file_name)]'
-# (repeat if there are multiple $(srcext)'s in $(source_list), ignore any headers):
-# !if [for %c in ($(source_list)) do @if "%~xc" == ".$(srcext)" @call create-lists.bat file $(makefile_snippet_file) $(intdir)\%~nc.obj]
-#
-# $(intdir)\%~nc.obj needs to correspond to the rules added in build-rules-msvc.mak
-# %~xc gives the file extension of a given file, %c in this case, so if %c is a.cc, %~xc means .cc
-# %~nc gives the file name of a given file without extension, %c in this case, so if %c is a.cc, %~nc means a
-
-NULL=
-
-# For HarfBuzz
-!if [call create-lists.bat header hb_objs.mak harfbuzz_dll_OBJS]
-!endif
-
-!if [for %c in ($(HB_SOURCES)) do @if "%~xc" == ".cc" @call create-lists.bat file hb_objs.mak ^$(CFG)\^$(PLAT)\harfbuzz\%~nc.obj]
-!endif
-
-!if [for %c in ($(HB_SOURCES)) do @if "%~xc" == ".c" @call create-lists.bat file hb_objs.mak ^$(CFG)\^$(PLAT)\harfbuzz\%~nc.obj]
-!endif
-
-!if [call create-lists.bat footer hb_objs.mak]
-!endif
-
-# For HarfBuzz-GObject
-!if "$(GOBJECT)" == "1"
-
-!if [call create-lists.bat header hb_objs.mak harfbuzz_gobject_OBJS]
-!endif
-
-!if [for %c in ($(HB_GOBJECT_sources) $(HB_GOBJECT_ENUM_sources)) do @if "%~xc" == ".cc" @call create-lists.bat file hb_objs.mak ^$(CFG)\^$(PLAT)\harfbuzz-gobject\%~nc.obj]
-!endif
-
-!if [call create-lists.bat footer hb_objs.mak]
-!endif
-!endif
-
-# For the utility programs (GLib support is required)
-!if "$(GLIB)" == "1"
-
-# For hb-view, Cairo-FT support is required
-!if "$(CAIRO_FT)" == "1"
-
-!if [call create-lists.bat header hb_objs.mak hb_view_OBJS]
-!endif
-
-!if [for %c in ($(HB_VIEW_sources)) do @if "%~xc" == ".cc" @call create-lists.bat file hb_objs.mak ^$(CFG)\^$(PLAT)\util\%~nc.obj]
-!endif
-
-!if [call create-lists.bat footer hb_objs.mak]
-!endif
-!endif
-
-# For hb-shape
-!if [call create-lists.bat header hb_objs.mak hb_shape_OBJS]
-!endif
-
-!if [for %c in ($(HB_SHAPE_sources)) do @if "%~xc" == ".cc" @call create-lists.bat file hb_objs.mak ^$(CFG)\^$(PLAT)\util\%~nc.obj]
-!endif
-
-!if [call create-lists.bat footer hb_objs.mak]
-!endif
-
-# For hb-ot-shape-closure
-
-!if [call create-lists.bat header hb_objs.mak hb_ot_shape_closure_OBJS]
-!endif
-
-!if [for %c in ($(HB_OT_SHAPE_CLOSURE_sources)) do @if "%~xc" == ".cc" @call create-lists.bat file hb_objs.mak ^$(CFG)\^$(PLAT)\util\%~nc.obj]
-!endif
-
-!if [call create-lists.bat footer hb_objs.mak]
-!endif
-
-!endif
-
-!include hb_objs.mak
-
-!if [del /f /q hb_objs.mak]
-!endif
-
-# Gather the list of headers and sources for introspection and glib-mkenums
-!if [call create-lists.bat header hb_srcs.mak HB_ACTUAL_HEADERS]
-!endif
-
-!if [for %h in ($(HB_HEADERS)) do @call create-lists.bat file hb_srcs.mak ..\src\%h]
-!endif
-
-!if [call create-lists.bat footer hb_srcs.mak]
-!endif
-
-# Gather the lists of sources for introspection
-!if [call create-lists.bat header hb_srcs.mak HB_ACTUAL_SOURCES]
-!endif
-
-!if [for %s in ($(HB_SOURCES)) do @call create-lists.bat file hb_srcs.mak ..\src\%s]
-!endif
-
-!if [call create-lists.bat footer hb_srcs.mak]
-!endif
-
-!if [call create-lists.bat header hb_srcs.mak HB_GOBJECT_ACTUAL_SOURCES]
-!endif
-
-!if [for %s in ($(HB_GOBJECT_sources) $(HB_GOBJECT_STRUCTS_headers)) do @call create-lists.bat file hb_srcs.mak ..\src\%s]
-!endif
-
-!if [call create-lists.bat footer hb_srcs.mak]
-!endif
-
-!if [call create-lists.bat header hb_srcs.mak HB_RAGEL_GENERATED_ACTUAL_SOURCES]
-!endif
-
-!if [for %s in ($(RAGEL_RAW_GEN_SRCS)) do @call create-lists.bat file hb_srcs.mak ..\src\%s]
-!endif
-
-!if [call create-lists.bat footer hb_srcs.mak]
-!endif
-
-!include hb_srcs.mak
-
-!if [del /f /q hb_srcs.mak]
-!endif
diff --git a/win32/create-lists.bat b/win32/create-lists.bat
deleted file mode 100644
index ef60d5ce..00000000
--- a/win32/create-lists.bat
+++ /dev/null
@@ -1,42 +0,0 @@
- at echo off
-rem Simple .bat script for creating the NMake Makefile snippets.
-
-if not "%1" == "header" if not "%1" == "file" if not "%1" == "footer" goto :error_cmd
-if "%2" == "" goto error_no_destfile
-
-if "%1" == "header" goto :header
-if "%1" == "file" goto :addfile
-if "%1" == "footer" goto :footer
-
-:header
-if "%3" == "" goto error_var
-echo %3 =	\>>%2
-goto done
-
-:addfile
-if "%3" == "" goto error_file
-echo.	%3	\>>%2
-goto done
-
-:footer
-echo.	$(NULL)>>%2
-echo.>>%2
-goto done
-
-:error_cmd
-echo Specified command '%1' was invalid.  Valid commands are: header file footer.
-goto done
-
-:error_no_destfile
-echo Destination NMake snippet file must be specified
-goto done
-
-:error_var
-echo A name must be specified for using '%1'.
-goto done
-
-:error_file
-echo A file must be specified for using '%1'.
-goto done
-
-:done
\ No newline at end of file
diff --git a/win32/detectenv-msvc.mak b/win32/detectenv-msvc.mak
deleted file mode 100644
index d1080525..00000000
--- a/win32/detectenv-msvc.mak
+++ /dev/null
@@ -1,146 +0,0 @@
-# Change this (or specify PREFIX= when invoking this NMake Makefile) if
-# necessary, so that the libs and headers of the dependent third-party
-# libraries can be located.  For instance, if building from GLib's
-# included Visual Studio projects, this should be able to locate the GLib
-# build out-of-the-box if they were not moved.  GLib's headers will be
-# found in $(GLIB_PREFIX)\include\glib-2.0 and
-# $(GLIB_PREFIX)\lib\glib-2.0\include and its import library will be found
-# in $(GLIB_PREFIX)\lib.
-
-!if "$(PREFIX)" == ""
-PREFIX = ..\..\vs$(VSVER)\$(PLAT)
-!endif
-
-# Location of the PERL interpretor, for running glib-mkenums.  glib-mkenums
-# needs to be found in $(PREFIX)\bin.  Using either a 32-bit or x64 PERL
-# interpretor are supported for either a 32-bit or x64 build.
-
-!if "$(PERL)" == ""
-PERL = perl
-!endif
-
-# Location of the Python interpretor, for building introspection.  The complete set
-# of Python Modules for introspection (the giscanner Python scripts and the _giscanner.pyd
-# compiled module) needs to be found in $(PREFIX)\lib\gobject-introspection\giscanner, and
-# the g-ir-scanner Python script and g-ir-compiler utility program needs to be found
-# in $(PREFIX)\bin, together with any DLLs they will depend on, if those DLLs are not already
-# in your PATH.
-# Note that the Python interpretor and the introspection modules and utility progam must
-# correspond to the build type (i.e. 32-bit Release for 32-bit Release builds, and so on).
-#
-# For introspection, currently only Python 2.7.x is supported.  This may change when Python 3.x
-# support is added upstream in gobject-introspection--when this happens, the _giscanner.pyd must
-# be the one that is built against the release series of Python that is used here.
-
-!if "$(PYTHON)" == ""
-PYTHON = python
-!endif
-
-# Location of the pkg-config utility program, for building introspection.  It needs to be able
-# to find the pkg-config (.pc) files so that the correct libraries and headers for the needed libraries
-# can be located, using PKG_CONFIG_PATH.  Using either a 32-bit or x64 pkg-config are supported for
-# either a 32-bit or x64 build.
-
-!if "$(PKG_CONFIG)" == ""
-PKG_CONFIG = pkg-config
-!endif
-
-# The items below this line should not be changed, unless one is maintaining
-# the NMake Makefiles.  The exception is for the CFLAGS_ADD line(s) where one
-# could use his/her desired compiler optimization flags, if he/she knows what is
-# being done.
-
-# Check to see we are configured to build with MSVC (MSDEVDIR, MSVCDIR or
-# VCINSTALLDIR) or with the MS Platform SDK (MSSDK or WindowsSDKDir)
-!if !defined(VCINSTALLDIR) && !defined(WINDOWSSDKDIR)
-MSG = ^
-This Makefile is only for Visual Studio 2008 and later.^
-You need to ensure that the Visual Studio Environment is properly set up^
-before running this Makefile.
-!error $(MSG)
-!endif
-
-ERRNUL  = 2>NUL
-_HASH=^#
-
-!if ![echo VCVERSION=_MSC_VER > vercl.x] \
-    && ![echo $(_HASH)if defined(_M_IX86) >> vercl.x] \
-    && ![echo PLAT=Win32 >> vercl.x] \
-    && ![echo $(_HASH)elif defined(_M_AMD64) >> vercl.x] \
-    && ![echo PLAT=x64 >> vercl.x] \
-    && ![echo $(_HASH)endif >> vercl.x] \
-    && ![cl -nologo -TC -P vercl.x $(ERRNUL)]
-!include vercl.i
-!if ![echo VCVER= ^\> vercl.vc] \
-    && ![set /a $(VCVERSION) / 100 - 6 >> vercl.vc]
-!include vercl.vc
-!endif
-!endif
-!if ![del $(ERRNUL) /q/f vercl.x vercl.i vercl.vc]
-!endif
-
-!if $(VCVERSION) > 1499 && $(VCVERSION) < 1600
-VSVER = 9
-!elseif $(VCVERSION) > 1599 && $(VCVERSION) < 1700
-VSVER = 10
-!elseif $(VCVERSION) > 1699 && $(VCVERSION) < 1800
-VSVER = 11
-!elseif $(VCVERSION) > 1799 && $(VCVERSION) < 1900
-VSVER = 12
-!elseif $(VCVERSION) > 1899 && $(VCVERSION) < 1910
-VSVER = 14
-!elseif $(VCVERSION) > 1909 && $(VCVERSION) < 2000
-VSVER = 15
-!else
-VSVER = 0
-!endif
-
-!if "$(VSVER)" == "0"
-MSG = ^
-This NMake Makefile set supports Visual Studio^
-9 (2008) through 14 (2015).  Your Visual Studio^
-version is not supported.
-!error $(MSG)
-!endif
-
-VALID_CFGSET = FALSE
-!if "$(CFG)" == "release" || "$(CFG)" == "debug"
-VALID_CFGSET = TRUE
-!endif
-
-# One may change these items, but be sure to test
-# the resulting binaries
-!if "$(CFG)" == "release"
-CFLAGS_ADD = /MD /O2 /GL /MP
-!if $(VSVER) > 9 && $(VSVER) < 14
-# Undocumented "enhance optimized debugging" switch. Became documented
-# as "/Zo" in VS 2013 Update 3, and is turned on by default in VS 2015.
-CFLAGS_ADD = $(CFLAGS_ADD) /d2Zi+
-!endif
-!else
-CFLAGS_ADD = /MDd /Od
-!endif
-
-!if "$(PLAT)" == "x64"
-LDFLAGS_ARCH = /machine:x64
-!elseif "$(PLAT)" == "arm"
-LDFLAGS_ARCH = /machine:arm
-CFLAGS_ADD = $(CFLAGS_ADD) /DWINAPI_FAMILY=3
-!else
-LDFLAGS_ARCH = /machine:x86
-!endif
-
-!if "$(VALID_CFGSET)" == "TRUE"
-CFLAGS = $(CFLAGS_ADD) /W3 /Zi /I.. /I..\src /I. /I$(PREFIX)\include
-
-!if "$(ADDITIONAL_LIB_DIR)" != ""
-ADDITIONAL_LIB_ARG = /libpath:$(ADDITIONAL_LIB_DIR)
-!endif
-LDFLAGS_BASE = $(LDFLAGS_ARCH) /libpath:$(PREFIX)\lib $(ADDITIONAL_LIB_ARG) /DEBUG
-
-!if "$(CFG)" == "debug"
-LDFLAGS = $(LDFLAGS_BASE)
-!else
-LDFLAGS = $(LDFLAGS_BASE) /opt:ref /LTCG
-!endif
-!endif
diff --git a/win32/generate-msvc.mak b/win32/generate-msvc.mak
deleted file mode 100644
index 0d5c4b06..00000000
--- a/win32/generate-msvc.mak
+++ /dev/null
@@ -1,39 +0,0 @@
-# NMake Makefile portion for code generation and
-# intermediate build directory creation
-# Items in here should not need to be edited unless
-# one is maintaining the NMake build files.
-
-# Copy the pre-defined config.h.win32
-config.h: config.h.win32
-	@-copy $@.win32 $@
-
-# Generate the enumeration sources and headers
-# sed is not normally available on Windows, but since
-# we are already using PERL, use PERL one-liners.
-!if "$(GOBJECT)" == "1"
-$(HB_GOBJECT_ENUM_GENERATED_SOURCES): ..\src\hb-gobject-enums.h.tmpl ..\src\hb-gobject-enums.cc.tmpl $(HB_ACTUAL_HEADERS)
-	-$(PYTHON) $(PREFIX)\bin\glib-mkenums \
-		--identifier-prefix hb_ --symbol-prefix hb_gobject \
-		--template ..\src\$(@F).tmpl  $(HB_ACTUAL_HEADERS) > $@.tmp
-	for %%f in ($@.tmp) do if %%~zf gtr 0 $(PYTHON) sed-enums-srcs.py --input=$@.tmp --output=$@
-	@-del $@.tmp
-	if not exist $@ \
-	$(PERL) $(PREFIX)\bin\glib-mkenums \
-		--identifier-prefix hb_ --symbol-prefix hb_gobject \
-		--template ..\src\$(@F).tmpl  $(HB_ACTUAL_HEADERS) > $@.tmp
-	if exist $@.tmp $(PERL) -p -i.tmp1 -e "s/_t_get_type/_get_type/g" $@.tmp
-	if exist $@.tmp $(PERL) -p -i.tmp2 -e "s/_T \(/ (/g" $@.tmp
-	@if exist $@.tmp.tmp1 del $@.tmp.tmp1
-	@if exist $@.tmp.tmp2 del $@.tmp.tmp2
-	@if exist $@.tmp move $@.tmp $@
-!endif
-
-# Create the build directories
-$(CFG)\$(PLAT)\harfbuzz $(CFG)\$(PLAT)\harfbuzz-gobject $(CFG)\$(PLAT)\util:
-	@-md $@
-
-.SUFFIXES: .c .cc .hh .rl
-
-# Generate headers from Ragel sources
-{..\src\}.rl{..\src\}.hh:
-	$(RAGEL) -e -F1 -o $@ $<
diff --git a/win32/hb-introspection-msvc.mak b/win32/hb-introspection-msvc.mak
deleted file mode 100644
index 67a0c5e4..00000000
--- a/win32/hb-introspection-msvc.mak
+++ /dev/null
@@ -1,42 +0,0 @@
-
-!if "$(BUILD_INTROSPECTION)" == "TRUE"
-# Create the file list for introspection (to avoid the dreaded command-line-too-long problem on Windows)
-$(CFG)\$(PLAT)\hb_list: $(HB_ACTUAL_HEADERS) $(HB_ACTUAL_SOURCES) $(HB_GOBJECT_ENUM_GENERATED_SOURCES) $(HB_GOBJECT_ACTUAL_SOURCES)
-	@for %f in ($(HB_ACTUAL_HEADERS) $(HB_ACTUAL_SOURCES) $(HB_GOBJECT_ENUM_GENERATED_SOURCES) $(HB_GOBJECT_ACTUAL_SOURCES)) do @echo %f >> $@
-
-$(CFG)\$(PLAT)\HarfBuzz-0.0.gir: $(CFG)\$(PLAT)\harfbuzz-gobject.lib $(CFG)\$(PLAT)\hb_list
-	@set LIB=$(CFG)\$(PLAT);$(PREFIX)\lib;$(LIB)
-	@set PATH=$(CFG)\$(PLAT);$(PREFIX)\bin;$(PATH)
-	@-echo Generating $@...
-	$(PYTHON) $(G_IR_SCANNER)	\
-	--verbose -no-libtool	\
-	-I..\src -n hb --identifier-prefix=hb_ --warn-all	\
-	--namespace=HarfBuzz	\
-	--nsversion=0.0	\
-	--include=GObject-2.0	\
-	--library=harfbuzz-gobject	\
-	--library=harfbuzz	\
-	--add-include-path=$(G_IR_INCLUDEDIR)	\
-	--pkg-export=harfbuzz	\
-	--cflags-begin	\
-	$(CFLAGS) $(HB_DEFINES) $(HB_CFLAGS)	\
-	-DHB_H \
-	-DHB_H_IN \
-	-DHB_OT_H \
-	-DHB_OT_H_IN \
-	-DHB_GOBJECT_H \
-	-DHB_GOBJECT_H_IN \
-	--cflags-end	\
-	--filelist=$(CFG)\$(PLAT)\hb_list	\
-	-o $@
-
-$(CFG)\$(PLAT)\HarfBuzz-0.0.typelib: $(CFG)\$(PLAT)\HarfBuzz-0.0.gir
-	@copy $*.gir $(@B).gir
-	$(PREFIX)\bin\g-ir-compiler	\
-	--includedir=$(CFG)\$(PLAT) --debug --verbose	\
-	$(@B).gir	\
-	-o $@
-	@del $(@B).gir
-!else
-!error $(ERROR_MSG)
-!endif
diff --git a/win32/info-msvc.mak b/win32/info-msvc.mak
deleted file mode 100644
index 2a61b180..00000000
--- a/win32/info-msvc.mak
+++ /dev/null
@@ -1,162 +0,0 @@
-# NMake Makefile portion for displaying config info
-
-INC_FEATURES = Fallback OT
-BUILT_TOOLS =
-BUILT_LIBRARIES = HarfBuzz
-
-!if "$(NO_UCDN)" != "1"
-UNICODE_IMPL = ucdn
-!elseif "$(GLIB)" == "1"
-UNICODE_IMPL = GLib
-!elseif "$(ICU)" == "1"
-UNICODE_IMPL = ICU
-!endif
-
-!if "$(GLIB)" == "1"
-INC_FEATURES = $(INC_FEATURES) GLib
-BUILT_TOOLS = hb-shape.exe hb-ot-shape-closure.exe
-!if "$(CAIRO_FT)" == "1"
-BUILT_TOOLS = hb-view.exe $(BUILT_TOOLS)
-!endif
-!endif
-!if "$(ICU)" == "1"
-INC_FEATURES = $(INC_FEATURES) ICU
-!endif
-
-!if "$(FREETYPE)" == "1"
-INC_FEATURES = $(INC_FEATURES) FreeType
-!endif
-
-!if "$(GRAPHITE2)" == "1"
-INC_FEATURES = $(INC_FEATURES) Graphite2
-!endif
-
-!if "$(UNISCRIBE)" == "1"
-INC_FEATURES = $(INC_FEATURES) Uniscribe
-!endif
-
-!if "$(DIRECTWRITE)" == "1"
-INC_FEATURES = $(INC_FEATURES) DirectWrite
-!endif
-
-!if "$(GOBJECT)" == "1"
-BUILT_LIBRARIES = $(BUILT_LIBRARIES) HarfBuzz-GObject
-!endif
-
-!if "$(INTROSPECTION)" == "1"
-BUILD_INTROSPECTION = yes
-!else
-BUILD_INTROSPECTION = no
-!endif
-
-build-info-hb:
-	@echo.
-	@echo ==================================
-	@echo Configuration for HarfBuzz Library
-	@echo ==================================
-	@echo Unicode Implementation: $(UNICODE_IMPL)
-	@echo Enabled Features: $(INC_FEATURES)
-
-all-build-info: build-info-hb
-	@echo.
-	@echo ----------------
-	@echo Other build info
-	@echo ----------------
-	@echo Built Libraries: $(BUILT_LIBRARIES)
-	@echo Built Tools: $(BUILT_TOOLS)
-	@echo Introspection: $(BUILD_INTROSPECTION)
-
-help:
-	@echo.
-	@echo =============================
-	@echo Building HarfBuzz Using NMake
-	@echo =============================
-	@echo nmake /f Makefile.vc CFG=[release^|debug] ^<PREFIX=PATH^> OPTION=1 ...
-	@echo.
-	@echo Where:
-	@echo ------
-	@echo CFG: Required, use CFG=release for an optimized build and CFG=debug
-	@echo for a debug build.  PDB files are generated for all builds.
-	@echo.
-	@echo PREFIX: Optional, the path where dependent libraries and tools may be
-	@echo found, default is ^$(srcrootdir)\..\vs^$(short_vs_ver)\^$(platform),
-	@echo where ^$(short_vs_ver) is 9 for VS 2008, 10 for VS 2010 and so on; and
-	@echo ^$(platform) is Win32 for 32-bit builds and x64 for x64 builds.
-	@echo.
-	@echo OPTION: Optional, may be any of the following, use OPTION=1 to enable;
-	@echo multiple OPTION's may be used.  If no OPTION is specified, a default
-	@echo HarfBuzz DLL is built with OpenType and support with a bundled
-	@echo Unicode implementation (UCDN).
-	@echo ======
-	@echo.
-	@echo CAIRO_FT:
-	@echo Enables Cairo-Freetype support, needed for the build of the hb-view utility.
-	@echo Implies FreeType2 support and also requires Cairo built with FreeType2
-	@echo support; GLib2 support must also be enabled.
-	@echo.
-	@echo DIRECTWRITE:
-	@echo Enable DirectWrite support, requires a recent enough Windows SDK.
-	@echo.
-	@echo FREETYPE:
-	@echo Enable FreeType2 support, requires the FreeType2 library
-	@echo.
-	@echo GLIB:
-	@echo Enable GLib2 support, with GLib Unicode support, requires the GNOME GLib2
-	@echo library.  Enables the build of utility programs.
-	@echo.
-	@echo GOBJECT:
-	@echo Enable the HarfBuzz-GObject library, also implies GLib2 support,
-	@echo requires the GNOME GLib2 libraries and tools, notably the glib-mkenums
-	@echo tool script, which will require a Python interpretor (when using
-	@echo GObject/GLib 2.53.4 or later; use PYTHON=^$(PATH_TO_PYTHON_INTERPRETOR)
-	@echo if the Python interpretor is not already in your PATH) or PERL
-	@echo interpreter (when using GObject/GLib 2.53.3 or earlier; use
-	@echo PERL=^$(PATH_TO_PERL_INTERPRETOR)) if it is not already in your PATH).
-	@echo.
-	@echo GRAPHITE2:
-	@echo Enable graphite2 support, requires the SIL Graphite2 library
-	@echo.
-	@echo ICU:
-	@echo Enable build with ICU Unicode functions, requires the International
-	@echo Components for Unicode (ICU) libraries.
-	@echo.
-	@echo INTROSPECTION:
-	@echo Enable the build of introspection files, also implies GObject/GLib2 support,
-	@echo requires the GNOME gobject-introspection libraries and tools.  You will need
-	@echo to ensure the pkg-config (.pc) files can be found for GObject-2.0 and the
-	@echo Python interpreter (that was used to build the gobject-introspection tools)
-	@echo can be found by setting PKG_CONFIG_PATH beforehand, and passing in PYTHON=
-	@echo ^$(PATH_TO_PYTHON_INTERPRETOR) respectively, if python.exe is not already
-	@echo in your PATH.
-	@echo.
-	@echo LIBTOOL_DLL_NAME:
-	@echo Use a libtool-style DLL name to mimic the DLL file naming generated by
-	@echo MinGW builds.
-	@echo.
-	@echo NO_UCDN:
-	@echo Do not use the bundled Unicode callback, which is the default.  GLib or
-	@echo ICU-based unicode callback is therefore required.
-	@echo.
-	@echo UNISCRIBE:
-	@echo Enable Uniscribe support.
-	@echo.
-	@echo RAGEL:
-	@echo Set the full path to the Ragel state machine compiler, if not already in
-	@echo PATH.  The Ragel state machine compiler is required if not building from
-	@echo a release tarball, or a rebuild is to be carried out after using the
-	@echo 'reallyclean' target.
-	@echo.
-	@echo Note that GLib2 support is required for all utility and test programs.
-	@echo ======
-	@echo A 'clean' target is supported to remove all generated files, intermediate
-	@echo object files and binaries for the specified configuration.
-	@echo.
-	@echo A 'tests' target is supported to build the test programs, if GLib2 support
-	@echo is enabled.  Use after building the libraries and utilities.
-	@echo.
-	@echo An 'install' target is supported to copy the build (DLLs, utility programs,
-	@echo LIBs, along with the introspection files if applicable) to appropriate
-	@echo locations under ^$(PREFIX).
-	@echo ======
-	@echo.
-	
diff --git a/win32/install.mak b/win32/install.mak
deleted file mode 100644
index e0a38e31..00000000
--- a/win32/install.mak
+++ /dev/null
@@ -1,25 +0,0 @@
-# NMake Makefile snippet for copying the built libraries, utilities and headers to
-# a path under $(PREFIX).
-
-install: all
-	@if not exist $(PREFIX)\bin\ mkdir $(PREFIX)\bin
-	@if not exist $(PREFIX)\lib\ mkdir $(PREFIX)\lib
-	@if not exist $(PREFIX)\include\harfbuzz\ mkdir $(PREFIX)\include\harfbuzz
-	@copy /b $(HARFBUZZ_DLL_FILENAME).dll $(PREFIX)\bin
-	@copy /b $(HARFBUZZ_DLL_FILENAME).pdb $(PREFIX)\bin
-	@copy /b $(CFG)\$(PLAT)\harfbuzz.lib $(PREFIX)\lib
-	@if exist $(HARFBUZZ_GOBJECT_DLL_FILENAME).dll copy /b $(HARFBUZZ_GOBJECT_DLL_FILENAME).dll $(PREFIX)\bin
-	@if exist $(HARFBUZZ_GOBJECT_DLL_FILENAME).dll copy /b $(HARFBUZZ_GOBJECT_DLL_FILENAME).pdb $(PREFIX)\bin
-	@if exist $(HARFBUZZ_GOBJECT_DLL_FILENAME).dll copy /b $(CFG)\$(PLAT)\harfbuzz-gobject.lib $(PREFIX)\lib
-	@if exist $(CFG)\$(PLAT)\hb-view.exe copy /b $(CFG)\$(PLAT)\hb-view.exe $(PREFIX)\bin
-	@if exist $(CFG)\$(PLAT)\hb-view.exe copy /b $(CFG)\$(PLAT)\hb-view.pdb $(PREFIX)\bin
-	@if exist $(CFG)\$(PLAT)\hb-ot-shape-closure.exe copy /b $(CFG)\$(PLAT)\hb-ot-shape-closure.exe $(PREFIX)\bin
-	@if exist $(CFG)\$(PLAT)\hb-ot-shape-closure.exe copy /b $(CFG)\$(PLAT)\hb-ot-shape-closure.pdb $(PREFIX)\bin
-	@if exist $(CFG)\$(PLAT)\hb-shape.exe copy /b $(CFG)\$(PLAT)\hb-shape.exe $(PREFIX)\bin
-	@if exist $(CFG)\$(PLAT)\hb-shape.exe copy /b $(CFG)\$(PLAT)\hb-shape.pdb $(PREFIX)\bin
-	@for %h in ($(HB_ACTUAL_HEADERS)) do @copy %h $(PREFIX)\include\harfbuzz
-	@if exist $(HARFBUZZ_GOBJECT_DLL_FILENAME).dll for %h in ($(HB_GOBJECT_headers)) do @copy ..\src\%h $(PREFIX)\include\harfbuzz
-	@if exist $(HARFBUZZ_GOBJECT_DLL_FILENAME).dll copy $(CFG)\$(PLAT)\harfbuzz-gobject\hb-gobject-enums.h $(PREFIX)\include\harfbuzz
-	@rem Copy the generated introspection files
-	@if exist $(CFG)\$(PLAT)\HarfBuzz-0.0.gir copy $(CFG)\$(PLAT)\HarfBuzz-0.0.gir $(PREFIX)\share\gir-1.0
-	@if exist $(CFG)\$(PLAT)\HarfBuzz-0.0.typelib copy /b $(CFG)\$(PLAT)\HarfBuzz-0.0.typelib $(PREFIX)\lib\girepository-1.0
diff --git a/win32/introspection-msvc.mak b/win32/introspection-msvc.mak
deleted file mode 100644
index d32f7cf5..00000000
--- a/win32/introspection-msvc.mak
+++ /dev/null
@@ -1,73 +0,0 @@
-# Common NMake Makefile module for checking the build environment is sane
-# for building introspection files under MSVC/NMake.
-# This can be copied from $(gi_srcroot)\build\win32 for GNOME items
-# that support MSVC builds and introspection under MSVC.
-
-# Can override with env vars as needed
-# You will need to have built gobject-introspection for this to work.
-# Change or pass in or set the following to suit your environment
-
-!if "$(PREFIX)" == ""
-PREFIX = ..\..\..\vs$(VSVER)\$(PLAT)
-!endif
-
-# Note: The PYTHON must be the Python release series that was used to build
-# the GObject-introspection scanner Python module!
-# Either having python.exe your PATH will work or passing in
-# PYTHON=<full path to your Python interpretor> will do
-
-# This is required, and gobject-introspection needs to be built
-# before this can be successfully run.
-!if "$(PYTHON)" == ""
-PYTHON=python
-!endif
-
-# Don't change anything following this line!
-
-GIR_SUBDIR = share\gir-1.0
-GIR_TYPELIBDIR = lib\girepository-1.0
-G_IR_SCANNER = $(PREFIX)\bin\g-ir-scanner
-G_IR_COMPILER = $(PREFIX)\bin\g-ir-compiler.exe
-G_IR_INCLUDEDIR = $(PREFIX)\$(GIR_SUBDIR)
-G_IR_TYPELIBDIR = $(PREFIX)\$(GIR_TYPELIBDIR)
-
-VALID_PKG_CONFIG_PATH = FALSE
-
-MSG_INVALID_PKGCONFIG = You must set or specifiy a valid PKG_CONFIG_PATH
-MSG_INVALID_CFG = You need to specify or set CFG to be release or debug to use this Makefile to build the Introspection Files
-
-ERROR_MSG =
-
-BUILD_INTROSPECTION = TRUE
-
-!if ![pkg-config --print-errors --errors-to-stdout $(CHECK_PACKAGE) > pkgconfig.x]	\
-	&& ![setlocal]	\
-	&& ![set file="pkgconfig.x"]	\
-	&& ![FOR %A IN (%file%) DO @echo PKG_CHECK_SIZE=%~zA > pkgconfig.chksize]	\
-	&& ![del $(ERRNUL) /q/f pkgconfig.x]
-!endif
-
-!include pkgconfig.chksize
-!if "$(PKG_CHECK_SIZE)" == "0"
-VALID_PKG_CONFIG_PATH = TRUE
-!else
-VALID_PKG_CONFIG_PATH = FALSE
-!endif
-
-!if ![del $(ERRNUL) /q/f pkgconfig.chksize]
-!endif
-
-VALID_CFGSET = FALSE
-!if "$(CFG)" == "release" || "$(CFG)" == "debug"
-VALID_CFGSET = TRUE
-!endif
-
-!if "$(VALID_PKG_CONFIG_PATH)" != "TRUE"
-BUILD_INTROSPECTION = FALSE
-ERROR_MSG = $(MSG_INVALID_PKGCONFIG)
-!endif
-
-!if "$(VALID_CFGSET)" != "TRUE"
-BUILD_INTROSPECTION = FALSE
-ERROR_MSG = $(MSG_INVALID_CFG)
-!endif
diff --git a/win32/pc_base.py b/win32/pc_base.py
deleted file mode 100644
index f7976e8d..00000000
--- a/win32/pc_base.py
+++ /dev/null
@@ -1,124 +0,0 @@
-#!/usr/bin/python
-#
-# Simple utility script to generate the basic info
-# needed in a .pc (pkg-config) file, used especially
-# for introspection purposes
-
-# This can be used in various projects where
-# there is the need to generate .pc files,
-# and is copied from GLib's $(srcroot)/win32
-
-# Author: Fan, Chun-wei
-# Date: March 10, 2016
-
-import os
-import sys
-import argparse
-
-class BasePCItems:
-    def __init__(self):
-        self.base_replace_items = {}
-        self.exec_prefix = ''
-        self.includedir = ''
-        self.libdir = ''
-        self.prefix = ''
-        self.srcdir = os.path.dirname(__file__)
-        self.top_srcdir = self.srcdir + '\\..'
-        self.version = ''
-
-    def setup(self, argv, parser=None):
-        if parser is None:
-            parser = argparse.ArgumentParser(description='Setup basic .pc file info')
-        parser.add_argument('--prefix', help='prefix of the installed library',
-                            required=True)
-        parser.add_argument('--exec-prefix',
-                            help='prefix of the installed programs, \
-                                  if different from the prefix')
-        parser.add_argument('--includedir',
-                            help='includedir of the installed library, \
-                                  if different from ${prefix}/include')
-        parser.add_argument('--libdir',
-                            help='libdir of the installed library, \
-                                  if different from ${prefix}/lib')
-        parser.add_argument('--version', help='Version of the package',
-                            required=True)
-        args = parser.parse_args()
-
-        self.version = args.version
-
-        # check whether the prefix and exec_prefix are valid
-        if not os.path.exists(args.prefix):
-            raise SystemExit('Specified prefix \'%s\' is invalid' % args.prefix)
-
-        # use absolute paths for prefix
-        self.prefix = os.path.abspath(args.prefix).replace('\\','/')
-
-        # check and setup the exec_prefix
-        if getattr(args, 'exec_prefix', None) is None:
-            exec_prefix_use_shorthand = True
-            self.exec_prefix = '${prefix}'
-        else:
-            if args.exec_prefix.startswith('${prefix}'):
-                exec_prefix_use_shorthand = True
-                input_exec_prefix = args.prefix + args.exec_prefix[len('${prefix}'):]
-            else:
-                exec_prefix_use_shorthand = False
-                input_exec_prefix = args.exec_prefix
-            if not os.path.exists(input_exec_prefix):
-                raise SystemExit('Specified exec_prefix \'%s\' is invalid' %
-                                  args.exec_prefix)
-            if exec_prefix_use_shorthand is True:
-                self.exec_prefix = args.exec_prefix.replace('\\','/')
-            else:
-                self.exec_prefix = os.path.abspath(input_exec_prefix).replace('\\','/')
-
-        # check and setup the includedir
-        if getattr(args, 'includedir', None) is None:
-            self.includedir = '${prefix}/include'
-        else:
-            if args.includedir.startswith('${prefix}'):
-                includedir_use_shorthand = True
-                input_includedir = args.prefix + args.includedir[len('${prefix}'):]
-            else:
-                if args.includedir.startswith('${exec_prefix}'):
-                    includedir_use_shorthand = True
-                    input_includedir = input_exec_prefix + args.includedir[len('${exec_prefix}'):]
-                else:
-                    includedir_use_shorthand = False
-                    input_includedir = args.includedir
-            if not os.path.exists(input_includedir):
-                raise SystemExit('Specified includedir \'%s\' is invalid' %
-                                  args.includedir)
-            if includedir_use_shorthand is True:
-                self.includedir = args.includedir.replace('\\','/')
-            else:
-                self.includedir = os.path.abspath(input_includedir).replace('\\','/')
-
-        # check and setup the libdir
-        if getattr(args, 'libdir', None) is None:
-            self.libdir = '${prefix}/lib'
-        else:
-            if args.libdir.startswith('${prefix}'):
-                libdir_use_shorthand = True
-                input_libdir = args.prefix + args.libdir[len('${prefix}'):]
-            else:
-                if args.libdir.startswith('${exec_prefix}'):
-                    libdir_use_shorthand = True
-                    input_libdir = input_exec_prefix + args.libdir[len('${exec_prefix}'):]
-                else:
-                    libdir_use_shorthand = False
-                    input_libdir = args.libdir
-            if not os.path.exists(input_libdir):
-                raise SystemExit('Specified libdir \'%s\' is invalid' %
-			                      args.libdir)
-            if libdir_use_shorthand is True:
-                self.libdir = args.libdir.replace('\\','/')
-            else:
-                self.libdir = os.path.abspath(input_libdir).replace('\\','/')
-
-        # setup dictionary for replacing items in *.pc.in
-        self.base_replace_items.update({'@VERSION@': self.version})
-        self.base_replace_items.update({'@prefix@': self.prefix})
-        self.base_replace_items.update({'@exec_prefix@': self.exec_prefix})
-        self.base_replace_items.update({'@libdir@': self.libdir})
-        self.base_replace_items.update({'@includedir@': self.includedir})
diff --git a/win32/replace.py b/win32/replace.py
deleted file mode 100644
index e3ef1635..00000000
--- a/win32/replace.py
+++ /dev/null
@@ -1,115 +0,0 @@
-#!/usr/bin/python
-#
-# Simple utility script to manipulate
-# certain types of strings in a file
-
-# This can be used in various projects where
-# there is the need to replace strings in files,
-# and is copied from GLib's $(srcroot)/win32
-
-# Author: Fan, Chun-wei
-# Date: September 03, 2014
-
-import os
-import sys
-import re
-import string
-import argparse
-
-valid_actions = ['remove-prefix',
-                 'replace-var',
-                 'replace-str',
-                 'remove-str']
-
-def open_file(filename, mode):
-    if sys.version_info[0] < 3:
-        return open(filename, mode=mode)
-    else:
-        return open(filename, mode=mode, encoding='latin-1')
-
-def replace_multi(src, dest, replace_items):
-    with open_file(src, 'r') as s:
-        with open_file(dest, 'w') as d:
-            for line in s:
-                replace_dict = dict((re.escape(key), value) \
-                               for key, value in replace_items.items())
-                replace_pattern = re.compile("|".join(replace_dict.keys()))
-                d.write(replace_pattern.sub(lambda m: \
-                        replace_dict[re.escape(m.group(0))], line))
-
-def replace(src, dest, instring, outstring):
-    replace_item = {instring: outstring}
-    replace_multi(src, dest, replace_item)
-
-def check_required_args(args, params):
-    for param in params:
-        if getattr(args, param, None) is None:
-            raise SystemExit('%s: error: --%s argument is required' % (__file__, param))
-
-def warn_ignored_args(args, params):
-    for param in params:
-        if getattr(args, param, None) is not None:
-            print('%s: warning: --%s argument is ignored' % (__file__, param))
-
-def main(argv):
-
-    parser = argparse.ArgumentParser(description='Process strings in a file.')
-    parser.add_argument('-a',
-                        '--action',
-                        help='Action to carry out.  Can be one of:\n'
-                             'remove-prefix\n'
-                             'replace-var\n'
-                             'replace-str\n'
-                             'remove-str',
-                        choices=valid_actions)
-    parser.add_argument('-i', '--input', help='Input file')
-    parser.add_argument('-o', '--output', help='Output file')
-    parser.add_argument('--instring', help='String to replace or remove')
-    parser.add_argument('--var', help='Autotools variable name to replace')
-    parser.add_argument('--outstring',
-                        help='New String to replace specified string or variable')
-    parser.add_argument('--removeprefix', help='Prefix of string to remove')
-
-    args = parser.parse_args()
-
-    input_string = ''
-    output_string = ''
-
-    # We must have action, input, output for all operations
-    check_required_args(args, ['action','input','output'])
-
-    # Build the arguments by the operation that is to be done,
-    # to be fed into replace()
-
-    # Get rid of prefixes from a string
-    if args.action == 'remove-prefix':
-        check_required_args(args, ['instring','removeprefix'])
-        warn_ignored_args(args, ['outstring','var'])
-        input_string = args.removeprefix + args.instring
-        output_string = args.instring
-
-    # Replace an m4-style variable (those surrounded by @...@)
-    if args.action == 'replace-var':
-        check_required_args(args, ['var','outstring'])
-        warn_ignored_args(args, ['instring','removeprefix'])
-        input_string = '@' + args.var + '@'
-        output_string = args.outstring
-
-    # Replace a string
-    if args.action == 'replace-str':
-        check_required_args(args, ['instring','outstring'])
-        warn_ignored_args(args, ['var','removeprefix'])
-        input_string = args.instring
-        output_string = args.outstring
-
-    # Remove a string
-    if args.action == 'remove-str':
-        check_required_args(args, ['instring'])
-        warn_ignored_args(args, ['var','outstring','removeprefix'])
-        input_string = args.instring
-        output_string = ''
-
-    replace(args.input, args.output, input_string, output_string)
-
-if __name__ == '__main__':
-    sys.exit(main(sys.argv))
diff --git a/win32/sed-enums-srcs.py b/win32/sed-enums-srcs.py
deleted file mode 100644
index ee761489..00000000
--- a/win32/sed-enums-srcs.py
+++ /dev/null
@@ -1,36 +0,0 @@
-#!/usr/bin/python
-#
-# Utility script to replace strings in the
-# generated enum sources, as needed by the build
-
-# Author: Fan, Chun-wei
-# Date: Oct. 5, 2017
-
-import os
-import sys
-import argparse
-
-from replace import replace_multi
-
-def main(argv):
-    parser = argparse.ArgumentParser(description='Replace strings in generated enum sources')
-    parser.add_argument('--input', help='input generated temporary enum source',
-                        required=True)
-    parser.add_argument('--output',
-                        help='output generated final enum source', required=True)
-    args = parser.parse_args()
-
-    # check whether the generated temporary enum source exists
-    if not os.path.exists(args.input):
-        raise SystemExit('Specified generated temporary enum source \'%s\' is invalid' % args.input)
-
-    replace_items = {'_t_get_type': '_get_type',
-                     '_T (': ' ('}
-
-    # Generate the final enum source
-    replace_multi(args.input,
-                  args.output,
-                  replace_items)
-
-if __name__ == '__main__':
-    sys.exit(main(sys.argv))
\ No newline at end of file
diff --git a/win32/setup.py b/win32/setup.py
deleted file mode 100644
index c31b9e74..00000000
--- a/win32/setup.py
+++ /dev/null
@@ -1,62 +0,0 @@
-#!/usr/bin/python
-# vim: encoding=utf-8
-#expand *.in files
-#this script is only intended for building from git, not for building from the released tarball, which already includes all necessary files
-import os
-import sys
-import re
-import string
-import subprocess
-import optparse
-from pc_base import BasePCItems
-from replace import replace_multi
-
-def get_version_items(srcroot):
-    ver = {}
-    RE_VERSION_LINE_START = re.compile(r'^AC_INIT\(\[(.+)\], *\n')
-    RE_VERSION_LINE_BODY = re.compile(r'^        \[(.+)\], *\n')
-    RE_VERSION_LINE_END = re.compile(r'^        \[(.+)\]\) *\n')
-
-    # Read from the AC_INIT lines to get the version/name/URLs info
-    with open(os.path.join(srcroot, 'configure.ac'), 'r') as ac:
-        for i in ac:
-            mo_init = RE_VERSION_LINE_START.search(i)
-            mo_pkg_info = RE_VERSION_LINE_BODY.search(i)
-            mo_pkg_url = RE_VERSION_LINE_END.search(i)
-            if mo_init:
-                ver['@PACKAGE_NAME@'] = mo_init.group(1) 
-            if mo_pkg_info:
-                if mo_pkg_info.group(1).startswith('http'):
-                    ver['@PACKAGE_BUGREPORT@'] = mo_pkg_info.group(1)
-                elif mo_pkg_info.group(1)[0].isdigit():
-                    ver['@PACKAGE_VERSION@'] = mo_pkg_info.group(1)
-                else:
-                    ver['@PACKAGE_TARNAME@'] = mo_pkg_info.group(1)
-            if mo_pkg_url:
-                ver['@PACKAGE_URL@'] = mo_pkg_url.group(1)
-            
-    ver['@HB_VERSION@'] = ver['@PACKAGE_VERSION@']
-
-    pkg_ver_parts = ver['@PACKAGE_VERSION@'].split('.')
-    ver['@HB_VERSION_MAJOR@'] = pkg_ver_parts[0]
-    ver['@HB_VERSION_MINOR@'] = pkg_ver_parts[1]
-    ver['@HB_VERSION_MICRO@'] = pkg_ver_parts[2]
-    return ver
-
-def main(argv):
-    pc = BasePCItems()
-    srcroot = pc.top_srcdir
-    srcdir = pc.srcdir
-    ver = get_version_items(srcroot)
-
-    replace_multi(os.path.join(srcdir, 'config.h.win32.in'),
-                  os.path.join(srcdir, 'config.h.win32'),
-                  ver)
-
-    replace_multi(os.path.join(srcroot, 'src', 'hb-version.h.in'),
-                  os.path.join(srcroot, 'src', 'hb-version.h'),
-                  ver)
-    return 0
-
-if __name__ == '__main__':
-    sys.exit(main(sys.argv))


More information about the HarfBuzz mailing list