8005575: build-infra: Three JCK tests fails on Solaris with new RE Autoconf-Based build
Reviewed-by: ohair
--- a/jaxp/makefiles/BuildJaxp.gmk Wed Jul 05 18:33:58 2017 +0200
+++ b/jaxp/makefiles/BuildJaxp.gmk Fri Jan 04 11:31:16 2013 +0100
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2007, 2012, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -47,11 +47,23 @@
$(eval $(call SetupJavaCompilation,BUILD_JAXP,\
SETUP:=GENERATE_NEWBYTECODE_DEBUG,\
SRC:=$(JAXP_TOPDIR)/src,\
- CLEAN:=.properties,\
BIN:=$(JAXP_OUTPUTDIR)/classes,\
SRCZIP:=$(JAXP_OUTPUTDIR)/dist/lib/src.zip))
-$(eval $(call SetupArchive,ARCHIVE_JAXP,$(BUILD_JAXP),\
+# Imitate the property cleaning mechanism in the old build. This will likely be replaced
+# by the unified functionality in JavaCompilation.gmk, but keep it the same as old build
+# for now, even though it actually breaks properties containing # in the value.
+# Using nawk to avoid solaris sed.
+$(JAXP_OUTPUTDIR)/classes/%.properties: $(JAXP_TOPDIR)/src/%.properties
+ $(MKDIR) -p $(@D)
+ $(RM) $@ $@.tmp
+ $(CAT) $< | LANG=C $(NAWK) '{ sub(/#.*$$/,"#"); print }' > $@.tmp
+ $(MV) $@.tmp $@
+
+SRC_PROP_FILES := $(shell $(FIND) $(JAXP_TOPDIR)/src -name "*.properties")
+TARGET_PROP_FILES := $(patsubst $(JAXP_TOPDIR)/src/%,$(JAXP_OUTPUTDIR)/classes/%,$(SRC_PROP_FILES))
+
+$(eval $(call SetupArchive,ARCHIVE_JAXP,$(BUILD_JAXP) $(TARGET_PROP_FILES),\
SRCS:=$(JAXP_OUTPUTDIR)/classes,\
SUFFIXES:=.class .properties,\
JAR:=$(JAXP_OUTPUTDIR)/dist/lib/classes.jar))