ports/devel/staf/files/patch-services_zip_makefile.zip
Brad Davis 4e3df64dcd Build the zip service in devel/staf
Submitted by:	asomers
Approved by:	bdrewery (implicit), kozlov.sergey.404@gmail.com (maintainer)
Differential Revision:	https://reviews.freebsd.org/D6680
2016-06-15 21:21:06 +00:00

121 lines
3.6 KiB
Text

--- services/zip/makefile.zip.orig 2015-09-28 13:33:59 UTC
+++ services/zip/makefile.zip
@@ -15,14 +15,19 @@ CleanupTargets += cleanup_stafzip
$(stafzip_targets): SUBSYS_REL := services/zip
SUBSYS_REL := services/zip
+# Location of zlib headers
+ZLIB_INCLUDEDIRS ?= $(ZLIB_ROOT:/=)/include
+# Name of the zip library to link against
+ZLIB_LIBNAME=z
+
#=====================================================================
# C/C++ Info Flags
#=====================================================================
$(stafzip_targets): OBJS = $(stafzip_objs)
-$(stafzip_targets): LIBS = STAF STAFZlib
+$(stafzip_targets): LIBS = STAF $(ZLIB_LIBNAME)
$(stafzip_targets): CFLAGS := $(CC_EXPORT_SHARED_LIB_SYMBOLS)
-$(stafzip_targets): INCLUDEDIRS := $(ZLIB_SOURCEDIR)
+$(stafzip_targets): INCLUDEDIRS := $(ZLIB_INCLUDEDIRS)
stafzip_objs :=\
STAFZip\
@@ -43,7 +48,7 @@ stafzip_objs :=\
stafzip_objs := $(foreach obj,$(stafzip_objs),$(O)/services/zip/$(obj)$(OS_OE))
stafzip_dependents := $(stafzip_objs:$(OS_OE)=.d)
$(stafzip_dependents): SUBSYS_REL := services/zip
-$(stafzip_dependents): INCLUDEDIRS := $(ZLIB_SOURCEDIR)
+$(stafzip_dependents): INCLUDEDIRS := $(ZLIB_INCLUDEDIRS)
ifeq ($(OS_NAME),win32)
stafzip_objs += $(SR_SRC)/STAFZip.def
@@ -61,86 +66,8 @@ include $(InferenceRules)
# STAFZIP targets
-$(REL)/lib/$(LIB_STAFZIP): $(stafzip_objs) $(LIB_STAF_FP) $(REL)/lib/$(subst Name,STAFZlib,$(DLL)) $(MAKEFILE_NAME)
+$(REL)/lib/$(LIB_STAFZIP): $(stafzip_objs) $(LIB_STAF_FP) $(MAKEFILE_NAME)
$(SHARED_LIB_IT)
cleanup_stafzip:
-@$(DEL) $(O)/services/zip/* $(OUT_ERR_TO_DEV_NULL)
-
-
-#=====================================================================
-# zLib section
-#=====================================================================
-
-LIB_STAFZLIB = $(subst Name,STAFZlib,$(DLL))
-
-stafzlib_targets += $(REL)/lib/$(LIB_STAFZLIB)
-
-Targets += $(stafzlib_targets)
-CleanupTargets += cleanup_stafzlib
-
-$(stafzlib_targets): SUBSYS_REL := libs/zlib
-SUBSYS_REL := libs/zlib
-
-#=====================================================================
-# C/C++ Info Flags
-#=====================================================================
-
-$(stafzlib_targets): OBJS = $(stafzlib_objs)
-$(stafzlib_targets): LIBS =
-$(stafzlib_targets): CFLAGS := $(CC_EXPORT_SHARED_LIB_SYMBOLS)
-
-# The Solaris gcc compiler does not support the GNU C extension attribute,
-# visibility (*hidden*), which is used by zlib 1.2.5 source code. Setting
-# the NO_VIZ compiler flag resolves this problem when building zlib on
-# Solaris.
-
-ifeq ($(OS_NAME),solaris)
- $(stafzlib_targets): CFLAGS += -DNO_VIZ
-endif
-
-$(stafzlib_targets): LIBDIRS = $(SR_SRC)
-
-stafzlib_objs :=\
- zutil\
- uncompr\
- trees\
- inftrees\
- inflate\
- inffast\
- infback\
- gzclose\
- gzread\
- gzwrite\
- gzlib\
- deflate\
- crc32\
- compress\
- adler32
-
-stafzlib_objs := $(foreach obj,$(stafzlib_objs),$(O)/libs/zlib/$(obj)$(OS_OE))
-stafzlib_dependents := $(stafzlib_objs:$(OS_OE)=.d)
-$(stafzlib_dependents): SUBSYS_REL := libs/zlib
-
-ifeq ($(OS_NAME),win32)
- stafzlib_objs += $(ZLIB_SOURCEDIR)/win32/zlib.def
-endif
-
-# Include dependencies
-ifneq ($(InCleanup), "1")
- include $(stafzlib_dependents)
-endif
-
-# Include inference rules
-$(O)/$(SUBSYS_REL)/%$(OS_OE): $(ZLIB_SOURCEDIR)/%.c
- $(COMPILE_IT_C)
-$(O)/$(SUBSYS_REL)/%.d: $(ZLIB_SOURCEDIR)/%.c
- $(C_DEPEND_IT_C)
-
-# STAFZLIB targets
-
-$(REL)/lib/$(LIB_STAFZLIB): $(stafzlib_objs) $(LIB_STAF_FP) $(MAKEFILE_NAME)
- $(SHARED_LIB_IT)
-
-cleanup_stafzlib:
- -@$(DEL) $(O)/libs/zlib/* $(OUT_ERR_TO_DEV_NULL)