- added PKGDATA_TRAILING_SPACE to all of the pkgdataMakefile.in file.
- NOTE: Users who create their own pkgdata.inc / icupkg.inc files may need
to recreate this PKGDATA_TRAILING_SPACE behavior.
- used the above variable, normally undefined, in mh-* files that need a trailing space
- Also, fixed use of system() in pkgdata.cpp per ICU-20538
This was causing pkgdata to return a zero status even on clang
failure, masking this issue.
(cherry picked from commit
83a0542b5b52a30b7af736f5ef6b0405f6582867)
## Compiler switches to embed a library name and version information
ifeq ($(ENABLE_RPATH),YES)
-LD_SONAME = -Wl,-compatibility_version -Wl,$(SO_TARGET_VERSION_MAJOR) -Wl,-current_version -Wl,$(SO_TARGET_VERSION) -install_name $(libdir)/$(notdir $(MIDDLE_SO_TARGET))
+LD_SONAME = -Wl,-compatibility_version -Wl,$(SO_TARGET_VERSION_MAJOR) -Wl,-current_version -Wl,$(SO_TARGET_VERSION) -install_name $(libdir)/$(notdir $(MIDDLE_SO_TARGET)) $(PKGDATA_TRAILING_SPACE)
else
-LD_SONAME = -Wl,-compatibility_version -Wl,$(SO_TARGET_VERSION_MAJOR) -Wl,-current_version -Wl,$(SO_TARGET_VERSION) -install_name $(notdir $(MIDDLE_SO_TARGET))
+LD_SONAME = -Wl,-compatibility_version -Wl,$(SO_TARGET_VERSION_MAJOR) -Wl,-current_version -Wl,$(SO_TARGET_VERSION) -install_name $(notdir $(MIDDLE_SO_TARGET)) $(PKGDATA_TRAILING_SPACE)
endif
## Compiler switch to embed a runtime search path
#LIBRARY_PATH_PREFIX=/usr/lib/lwp:
## Compiler switch to embed a library name
-LD_SONAME = -h $(notdir $(MIDDLE_SO_TARGET))
+LD_SONAME = -h $(notdir $(MIDDLE_SO_TARGET)) $(PKGDATA_TRAILING_SPACE)
## Shared object suffix
SO= so
LD_RPATH_PRE= -R
## Compiler switch to embed a library name
-LD_SONAME = -h $(notdir $(MIDDLE_SO_TARGET))
+LD_SONAME = -h $(notdir $(MIDDLE_SO_TARGET)) $(PKGDATA_TRAILING_SPACE)
## Shared library options
LD_SOOPTIONS= -Wl,-Bsymbolic
OUTPUTFILE=pkgdata.inc
MIDDLE_SO_TARGET=
+PKGDATA_TRAILING_SPACE=" "
all : clean
@echo GENCCODE_ASSEMBLY_TYPE=$(GENCCODE_ASSEMBLY) >> $(OUTPUTFILE)
@echo RANLIB=$(RANLIB) >> $(OUTPUTFILE)
@echo INSTALL_CMD=$(INSTALL-L) >> $(OUTPUTFILE)
-
clean :
$(RMV) $(OUTPUTFILE)
OUTPUTFILE=icupkg.inc
MIDDLE_SO_TARGET=
+PKGDATA_TRAILING_SPACE=" "
all : clean
@echo GENCCODE_ASSEMBLY_TYPE=$(GENCCODE_ASSEMBLY) >> $(OUTPUTFILE)
@echo RANLIB=$(RANLIB) >> $(OUTPUTFILE)
@echo INSTALL_CMD=$(INSTALL) >> $(OUTPUTFILE)
-
clean :
$(RMV) $(OUTPUTFILE)
## All the flags and other definitions are included here.
include $(top_builddir)/icudefs.mk
-MIDDLE_SO_TARGET=
-
OUTPUTFILE=pkgdata.inc
+MIDDLE_SO_TARGET=
+PKGDATA_TRAILING_SPACE=" "
all : clean
@echo GENCCODE_ASSEMBLY_TYPE=$(GENCCODE_ASSEMBLY) >> $(OUTPUTFILE)
## All the flags and other definitions are included here.
include $(top_builddir)/icudefs.mk
-MIDDLE_SO_TARGET=
-
OUTPUTFILE=pkgdata.inc
+MIDDLE_SO_TARGET=
+PKGDATA_TRAILING_SPACE=" "
all : clean
@echo GENCCODE_ASSEMBLY_TYPE=$(GENCCODE_ASSEMBLY) >> $(OUTPUTFILE)
if (o.files != NULL) {
pkg_deleteList(o.files);
}
-
return result;
}
int result = system(cmd);
if (result != 0) {
fprintf(stderr, "-- return status = %d\n", result);
+ result = 1; // system() result code is platform specific.
}
if (cmd != cmdBuffer && cmd != command) {