]> mj.ucw.cz Git - libucw.git/commitdiff
make regex and asciidoc work on Darwin without hacking
authorRobert Spalek <robert@ucw.cz>
Thu, 27 Nov 2008 16:24:52 +0000 (08:24 -0800)
committerRobert Spalek <robert@ucw.cz>
Thu, 27 Nov 2008 16:24:52 +0000 (08:24 -0800)
- use $(PREFIX) when accessing files in /etc/asciidoc/...
  on Darwin, we use /sw
- remove obsolete reference to internal regex library
- configure script makes sure the BSD library isn't used on Darwin due to
  incompatibility
- document dependency on asciidoc

build/Makebottom
build/Maketop
ucw/perl/UCW/Configure/C.pm
ucw/regex.c

index 12b2d555e10b0597d248e4f487c0808801e8a7b2..6b9e2e42104282034526dad4a2912367f347252a 100644 (file)
@@ -198,7 +198,7 @@ $(DATAFILES): $(o)/%: $(s)/%
 
 $(o)/%.html: $(o)/%.txt $(BUILDSYS)/asciidoc.conf $(BUILDSYS)/asciidoc-xhtml.conf run/$(DOCDIR)/$(DOC_MODULE)/.dir-stamp
        $(M)"DOC-HTML $<"
-       $(Q)asciidoc -e -f $(BUILDSYS)/asciidoc.conf -f $(BUILDSYS)/asciidoc-xhtml.conf -f /etc/asciidoc/asciidoc.conf -f /etc/asciidoc/xhtml11.conf $<
+       $(Q)asciidoc -e -f $(BUILDSYS)/asciidoc.conf -f $(BUILDSYS)/asciidoc-xhtml.conf -f $(PREFIX)/etc/asciidoc/asciidoc.conf -f $(PREFIX)/etc/asciidoc/xhtml11.conf $<
        $(Q)$(call symlink,$@,run/$(DOCDIR)/$(DOC_MODULE))
 
 # In reality, we do not depend on the .txt files, but on the corresponding .deflist's.
index 5027cfce74d7a57ebc70986e3af4fa8d42279683..f82f48c647cc37c12fde2ec09c3a73a177354983 100644 (file)
@@ -36,8 +36,10 @@ endif
 
 ifdef CONFIG_DARWIN
 SOEXT=bundle
+PREFIX=/sw
 else
 SOEXT=so
+PREFIX=
 endif
 SO_RUNDIR=lib
 
index 026aef6fe76da55c29a2cba62e9ae0117aa9b09f..b5e8c0c0d2ff66cbe10df6a4a91c51f1824eb76f 100644 (file)
@@ -257,6 +257,10 @@ if (IsSet("CONFIG_DARWIN")) {
        # Fill in some constants not found in the system header files
        Set("SOL_TCP" => 6);            # missing in /usr/include/netinet/tcp.h
        Set("O_DIRECT" => 0);           # Darwin doesn't support direct IO, so make Sherlock at least compilable
+       if (!IsSet("CONFIG_POSIX_REGEX") && !IsSet("CONFIG_PCRE")) {
+               Set("CONFIG_POSIX_REGEX" => 1);
+               Warn "BSD regexp library on Darwin isn't compatible, using POSIX regexp.\n";
+       }
 }
 
 ### Writing C headers with configuration ###
index aa87d2c15b42f94324ac91784d448e4c80d9adc0..6ead4648e9f8e270e77c232bd4a62211b67c2403 100644 (file)
@@ -208,11 +208,7 @@ rx_subst(regex *r, const char *by, const char *src, char *dest, uns destlen)
 
 /* BSD regular expression library */
 
-#ifdef CONFIG_OWN_BSD_REGEX
-#include "ucw/regex/regex-sh.h"
-#else
 #include <regex.h>
-#endif
 
 #define INITIAL_MEM 1024               /* Initial space allocated for each pattern */
 #define CHAR_SET_SIZE 256              /* How many characters in the character set.  */