diff options
author | Karl Berry <karl@freefriends.org> | 2021-02-25 19:22:25 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2021-02-25 19:22:25 +0000 |
commit | ad547a6b5986815fda458221149728d9d9ab1d87 (patch) | |
tree | 16296910eb3eca724371474ea9aea3994dc69614 /Build/source/libs/gd/libgd-src/windows/msys/Makefile | |
parent | 947b43de3dd21d58ccc2ffadefc4441ea1c2a813 (diff) |
restore Build,TODO from r57911
git-svn-id: svn://tug.org/texlive/trunk@57915 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build/source/libs/gd/libgd-src/windows/msys/Makefile')
-rw-r--r-- | Build/source/libs/gd/libgd-src/windows/msys/Makefile | 133 |
1 files changed, 133 insertions, 0 deletions
diff --git a/Build/source/libs/gd/libgd-src/windows/msys/Makefile b/Build/source/libs/gd/libgd-src/windows/msys/Makefile new file mode 100644 index 00000000000..d4acaafc324 --- /dev/null +++ b/Build/source/libs/gd/libgd-src/windows/msys/Makefile @@ -0,0 +1,133 @@ +# Simple makefile for building and testing libgd under MSYS/MinGW on +# Windows + + +# The version +LIBVER=3.0.1 + +# Misc. config flags. +CDEFS=-DHAVE_ICONV -DHAVE_ICONV_H \ +-DHAVE_ICONV_T_DEF -DHAVE_INTTYPES_H \ +-DHAVE_STDINT_H -DHAVE_VISIBILITY -DICONV_CONST \ +-DENABLE_GD_FORMATS=1 + +# GnuWin32 libs should all be installed in one place. +GNUDIR=/c/tools/GnuWin32 +GNUINC=-I$(GNUDIR)/include +GNULIB=-L$(GNUDIR)/lib +GNUDLL=$(GNUDIR)/bin/ + +# Various optional components. Comment-out the ones you don't have +# and edit the paths and options as needed if you do. The default +# assumes GnuWin32 packages installed in /c/Program Files/GnuWin32. +JPEG_D=-DHAVE_LIBJPEG +JPEG_L=-ljpeg +JPEG_I=$(GNUINC) +JPEG_LIBDIR=$(GNULIB) +JPEG_DLLDIR=$(GNUDLL) + +PNG_D=-DHAVE_LIBPNG +PNG_L=-lpng +PNG_I= #$(GNUINC) +PNG_LIBDIR= #$(GNULIB) +PNG_DLLDIR= #$(GNUDLL) + +TIFF_D=-DHAVE_LIBTIFF +TIFF_L=-ltiff +TIFF_I= #$(GNUINC) +TIFF_LIBDIR= #$(GNULIB) +TIFF_DLLDIR= #$(GNUDLL) + +LIBZ_D=-DHAVE_LIBZ +LIBZ_L=-lz +LIBZ_I= #$(GNUINC) +LIBZ_LIBDIR= #$(GNULIB) +LIBZ_DLLDIR= #$(GNUDLL) + +# LIBXPM_D=-DHAVE_LIBXPM +# LIBXPM_L=-lxpm +# LIBXPM_I= #$(GNUINC) +# LIBXPM_LIBDIR= #$(GNULIB) + +FREETYPE_D=-DHAVE_LIBFREETYPE -DHAVE_FT2BUILD_H +FREETYPE_L=-lfreetype +FREETYPE_I=$(GNUINC)/freetype2/ +FREETYPE_LIBDIR= #$(GNULIB) +FREETYPE_DLLDIR= #$(GNUDLL) + +# FONTCONFIG_D=-DHAVE_LIBFONTCONFIG +# FONTCONFIG_L= +# FONTCONFIG_I= +# FONTCONFIG_LIBDIR= + +ALL_D=$(FREETYPE_D) $(JPEG_D) $(PNG_D) $(TIFF_D) $(LIBZ_D) $(LIBXPM_D) +ALL_L=$(FREETYPE_L) $(JPEG_L) $(PNG_L) $(TIFF_L) $(LIBZ_L) $(LIBXPM_L) +ALL_I=$(FREETYPE_I) $(JPEG_I) $(PNG_I) $(TIFF_I) $(LIBZ_I) $(LIBXPM_I) +ALL_LIBDIR=$(FREETYPE_LIBDIR) $(JPEG_LIBDIR) $(PNG_LIBDIR) $(TIFF_LIBDIR) \ + $(LIBZ_LIBDIR) $(LIBXPM_LIBDIR) +ALL_DLLDIR=$(FREETYPE_DLLDIR) $(JPEG_DLLDIR) $(PNG_DLLDIR) $(TIFF_DLLDIR) \ + $(LIBZ_DLLDIR) $(LIBXPM_DLLDIR) + +# We need libiconv for internationalization. We default to static +# linking because that reduces the number of dependencies. However, +# libiconv is released under the GNU GPL which may impose extra +# restrictions on redistribution. +LIBICONV=/c/MinGW/lib/libiconv.a +#LIBICONV=-liconv + + +DEFS=$(CDEFS) $(ALL_D) +INCLUDES=$(ALL_I) + +CC=gcc +CFLAGS=-g -O2 -I. -std=gnu99 -fvisibility=hidden -static-libgcc \ + -D_WIN32 -DBGDWIN32 $(DEFS) $(INCLUDES) + +LD=gcc +LDFLAGS=-g -O2 -fvisibility=hidden -static-libgcc $(ALL_LIBDIR) +LIBS=$(ALL_L) $(LIBICONV) + +ZIP=zip -j9 +DIST=libgd-win.zip + +# Get this list from c files in libgd_la_SOURCES in Makefile.mk +SRC=gd.c gd_color.c gd_color_map.c gd_transform.c gdfx.c \ +gd_security.c gd_gd.c gd_gd2.c gd_io.c gd_io_dp.c gd_gif_in.c \ +gd_gif_out.c gd_io_file.c gd_io_ss.c gd_jpeg.c gd_png.c gd_ss.c \ +gd_topal.c gd_wbmp.c gdcache.c gdfontg.c gdfontl.c gdfontmb.c \ +gdfonts.c gdfontt.c gdft.c gdhelpers.c gdkanji.c gdtables.c gdxpm.c \ +wbmp.c gd_filter.c gd_nnquant.c gd_rotate.c gd_matrix.c \ +gd_interpolation.c gd_crop.c gd_webp.c gd_tiff.c gd_tga.c \ +gd_bmp.c gd_xbm.c gd_color_match.c gd_version.c gd_filename.c + +OBJ=$(SRC:.c=.o) + +TARGETBASE=libgd +TARGET=$(TARGETBASE).dll +TARGET_A=$(TARGETBASE).a + +all: + (cd ../../src; make -f ../windows/msys/Makefile $(TARGET)) + +# BUG: this sucks in all the DLLs in the lib installation directory, +# including those you may not need. +dist: all + (cd ../..; $(ZIP) $(DIST) src/*.dll src/*.a $$(for d in $(ALL_DLLDIR); do echo $$d/*.dll; done | sort -u) ) + + +clean: + -rm ../../$(DIST) + (cd ../../src; rm -f *.dll *.a $(OBJ) deps.mk; true) + +check: all + bash run_tests.sh "$(GNUDIR)/bin" "$(INCLUDES)" + +deps.mk: + [ -f gd.h ] # Sanity check: we're in src/, right? + gcc -MM $(DEFS) $(INCLUDES) $(SRC) > deps.mk + +$(TARGET): $(OBJ) + gcc -shared -o $(TARGET) $(LDFLAGS) -Wl,--out-implib,$(TARGET_A) \ + $(OBJ) $(LIBS) + +include deps.mk |