]> granicus.if.org Git - re2c/commitdiff
Install standard library files in $(datadir)/re2c/stdlib and search for include files...
authorUlya Trofimovich <skvadrik@gmail.com>
Wed, 7 Aug 2019 22:10:26 +0000 (23:10 +0100)
committerUlya Trofimovich <skvadrik@gmail.com>
Wed, 7 Aug 2019 22:19:21 +0000 (23:19 +0100)
This fixes bug #253 "re2c should install unicode_categories.re somewhere"
(reported by Wesley W. Terpstra).

Makefile.am
src/parse/input.cc

index d717ddc418ee94da603ec59370ad97ecdaf304ba..40cb2e79246d8aa64e024cc4e9f193bc449a806c 100644 (file)
@@ -1,9 +1,14 @@
-# flags
-# do *not* add CXXFLAGS here, add them in configure.ac
+
+# stdlib directory
+stdlibdir = $(datadir)/re2c/stdlib
+
+# do not add compiler options/warnings here, add them in configure.ac
 AM_CXXFLAGS = $(CXXFLAGSDEFAULT)
+AM_CXXFLAGS += -DRE2C_STDLIB_DIR='"$(stdlibdir)/"'
 if DEBUG
 AM_CXXFLAGS += -DRE2C_DEBUG
 endif
+
 RE2CFLAGS = -br -W
 
 # binary
@@ -257,6 +262,9 @@ re2c_SRC_DOC_EXT = \
 DOC = doc/re2c.1
 man_MANS = $(DOC)
 
+# include files (stdlib)
+dist_stdlib_DATA = include/unicode_categories.re
+
 EXTRA_DIST = \
        $(re2c_BOOT) \
        $(re2c_CUSTOM) \
@@ -267,7 +275,6 @@ EXTRA_DIST = \
        autogen.sh \
        genhelp.sh \
        examples \
-       include \
        test
 
 CLEANFILES = \
index 9a3ca29e6b47c2ae5e73150dcabbc11f8acdc757..18f37bb734b1b009bd04c8a183d7eeb59adf31f7 100644 (file)
@@ -39,6 +39,12 @@ bool Input::open(const std::string &filename, const std::string *parent
             path = incpaths[i] + name;
             file = fopen(path.c_str(), "rb");
         }
+
+        // if user-defined include paths failed, try stdlib path
+        if (!file) {
+            path = RE2C_STDLIB_DIR + name;
+            file = fopen(path.c_str(), "rb");
+        }
     }
 
     if (!file) {