I recently attempted to build PCRE SVN trunk on Solaris 2.6 (on 32-bit SPARC) to try out Zoltán's new JIT support for that platform. While that is still in progress, there are a few minor issues that came up in building PCRE on this older system, that are addressed in the attached patch. These are as follows:

pcre_internal.h: Header macros need to be checked as e.g.

        #if defined HAVE_STDINT_H

rather than

        #if HAVE_STDINT_H

or else -Wundef gives you "HAVE_STDINT_H is not defined" warnings.

Makefile.am: The "?=" assignment is a GNU Make extension, not compatible with classic Unix make(1) programs. (Indeed, make(1) gave a confusing error on this system until I removed those assignments.)

The "coverage-clean" target is invoked by "make clean". The former does not check that LCOV is set to a value before invoking it.

Also, older versions of find(1) do not support the -delete predicate.


--Daniel


--
Daniel Richard G. || [email protected] || Software Developer
Teragram Linguistic Technologies (a division of SAS)
http://www.teragram.com/
Index: pcre_internal.h
===================================================================
--- pcre_internal.h	(revision 1159)
+++ pcre_internal.h	(working copy)
@@ -221,9 +221,9 @@
 have stdint.h (e.g. Solaris) may have inttypes.h. The macro int64_t may be set
 by "configure". */
 
-#if HAVE_STDINT_H
+#if defined HAVE_STDINT_H
 #include <stdint.h>
-#elif HAVE_INTTYPES_H
+#elif defined HAVE_INTTYPES_H
 #include <inttypes.h>
 #endif
 
Index: Makefile.am
===================================================================
--- Makefile.am	(revision 1159)
+++ Makefile.am	(working copy)
@@ -735,11 +741,11 @@
 
 # gcov/lcov code coverage reporting
 
-GCOV_NAME ?= $(PACKAGE)-$(VERSION)
-GCOV_OUTPUT_FILE ?= $(GCOV_NAME)-coverage.info
-GCOV_OUTPUT_DIR ?= $(GCOV_NAME)-coverage
-GCOV_LCOV_FLAGS ?=
-GCOV_GENHTML_FLAGS ?=
+GCOV_NAME = $(PACKAGE)-$(VERSION)
+GCOV_OUTPUT_FILE = $(GCOV_NAME)-coverage.info
+GCOV_OUTPUT_DIR = $(GCOV_NAME)-coverage
+GCOV_LCOV_FLAGS =
+GCOV_GENHTML_FLAGS =
 
 gcov_quiet = $(gcov_quiet_$(V))
 gcov_quiet_ = $(gcov_quiet_$(AM_DEFAULT_VERBOSITY))
@@ -775,11 +781,11 @@
 	@echo "Code coverage report written to file://$(abs_builddir)/$(GCOV_OUTPUT_DIR)/index.html"
 
 coverage-clean:
-	-$(LCOV) $(gcov_quiet) --zerocounters --directory $(top_builddir)
+	-test -z "$(LCOV)" || $(LCOV) $(gcov_quiet) --zerocounters --directory $(top_builddir)
 	-rm -f "$(GCOV_OUTPUT_FILE)"
 	-rm -f "$(GCOV_OUTPUT_FILE).tmp"
 	-rm -rf "$(GCOV_NAME)"
-	-find $(top_builddir) -name '*.gcda' -o -name "*.gcov" -delete
+	-find $(top_builddir) -name '*.gcda' -o -name '*.gcov' -exec rm -f {} ';'
 
 coverage: coverage-check coverage-report
 clean-local: coverage-clean
-- 
## List details at https://lists.exim.org/mailman/listinfo/pcre-dev 

Reply via email to