diff --git a/.appveyor.yml b/.appveyor.yml
index 8b68329e..44087cf1 100644
--- a/.appveyor.yml
+++ b/.appveyor.yml
@@ -1,9 +1,6 @@
version: 1.0.{build}
image: Visual Studio 2015
-
-branches:
- only:
- - master
+skip_branch_with_pr: true
environment:
matrix:
@@ -36,10 +33,9 @@ build_script:
bash -lc "cd $Env:WDIR && ./bootstrap.sh"
bash -lc "cd $Env:WDIR && ./configure --datadir=/c"
bash -lc "cd $Env:WDIR && make -j4"
- bash -lc "cd $Env:WDIR && make install"
+ bash -lc "cd $Env:WDIR && make check"
bash -lc "cd $Env:WDIR && cp src/.libs/libpostal-*.dll libpostal.dll"
& 'C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\lib.exe' /def:libpostal.def /out:libpostal.lib /machine:$Env:PLATFORM
- 7z a libpostal.zip $Env:APPVEYOR_BUILD_FOLDER\libpostal.dll $Env:APPVEYOR_BUILD_FOLDER\libpostal.def $Env:APPVEYOR_BUILD_FOLDER\libpostal.exp $Env:APPVEYOR_BUILD_FOLDER\libpostal.lib $Env:APPVEYOR_BUILD_FOLDER\src\libpostal.h
if ($Env:BIT -eq "32") {
$Paths = @(
(Join-Path $Env:APPVEYOR_BUILD_FOLDER "src"),
@@ -48,6 +44,7 @@ build_script:
(Join-Path $Env:APPVEYOR_BUILD_FOLDER "test\.libs"))
Get-ChildItem -Path $Paths | ?{ $_.Name -Match '\.(exe|dll)$' } | % { & 'C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\editbin.exe' /NOLOGO /LARGEADDRESSAWARE $_.FullName }
}
+ 7z a libpostal.zip $Env:APPVEYOR_BUILD_FOLDER\libpostal.dll $Env:APPVEYOR_BUILD_FOLDER\libpostal.def $Env:APPVEYOR_BUILD_FOLDER\libpostal.exp $Env:APPVEYOR_BUILD_FOLDER\libpostal.lib $Env:APPVEYOR_BUILD_FOLDER\src\libpostal.h
}
test_script:
diff --git a/.travis.yml b/.travis.yml
index 99882187..ac880b3c 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -32,7 +32,7 @@ install:
- if [ "$CC" = "gcc" ]; then export CC="gcc-4.8"; fi
script:
- ./configure --datadir=$(pwd)/data
- - make
+ - make -j4
- if [[ $DICTIONARIES_CHANGED -ne 0 ]]; then ./src/build_address_dictionary; fi;
- if [[ $NUMEX_CHANGED -ne 0 ]]; then ./src/build_numex_table; fi;
- if [[ $TRANSLIT_CHANGED -ne 0 ]]; then ./src/build_trans_table; fi;
diff --git a/README.md b/README.md
index cc2c5630..439443d1 100644
--- a/README.md
+++ b/README.md
@@ -91,8 +91,8 @@ Individual users can also help support open geo NLP research by making a monthly
-Installation
-------------
+Installation (Mac/Linux)
+------------------------
Before you install, make sure you have the following prerequisites:
@@ -118,7 +118,7 @@ git clone https://github.com/openvenues/libpostal
cd libpostal
./bootstrap.sh
./configure --datadir=[...some dir with a few GB of space...]
-make
+make -j4
sudo make install
# On Linux it's probably a good idea to run
@@ -139,7 +139,10 @@ For example, if you write a program called app.c, you can compile it like this:
gcc app.c `pkg-config --cflags --libs libpostal`
```
-**On Windows (MSys2/MinGW)**
+Installation (Windows)
+----------------------
+
+**MSys2/MinGW**
For Windows the build procedure currently requires MSys2 and MinGW. This can be downloaded from http://msys2.org. Please follow the instructions on the MSys2 website for installation.
@@ -160,7 +163,7 @@ cd libpostal
cp -rf windows/* ./
./bootstrap.sh
./configure --datadir=[...some dir with a few GB of space...]
-make
+make -j4
make install
```
Notes: When setting the datadir, the `C:` drive would be entered as `/c`. The libpostal build script automatically add `libpostal` on the end of the path, so '/c' would become `C:\libpostal\` on Windows.
@@ -675,6 +678,12 @@ Bug reports, issues and pull requests are welcome. Please read the [contributing
Submit issues at: https://github.com/openvenues/libpostal/issues.
+
+Shoutouts
+---------
+
+Special thanks to @BenK10 for the initial Windows build and @AeroXuk for integrating it seamlessly into the project and setting up an Appveyor build.
+
License
-------
diff --git a/configure.ac b/configure.ac
index 4f4bfcc1..0dea296c 100644
--- a/configure.ac
+++ b/configure.ac
@@ -48,7 +48,7 @@ AC_TYPE_UINT8_T
AC_CHECK_TYPES([ptrdiff_t])
# Checks for library functions.
-AC_CHECK_FUNCS([malloc realloc getcwd gettimeofday memmove memset regcomp setlocale sqrt strdup strndup])
+AC_CHECK_FUNCS([malloc realloc drand48 getcwd gettimeofday memmove memset regcomp setlocale sqrt strdup strndup])
AC_CONFIG_FILES([Makefile
libpostal.pc
diff --git a/src/klib/drand48.c b/src/klib/drand48.c
index ab9230e3..2f4335bd 100644
--- a/src/klib/drand48.c
+++ b/src/klib/drand48.c
@@ -12,7 +12,11 @@
* to anyone/anything when using this software.
*/
-//I've rearranged the source into a header-only implementation for drand48() -Benjamin Kusin
+#ifdef HAVE_CONFIG_H
+#include
+#endif
+
+#ifndef HAVE_DRAND48
#include
#include "drand48.h"
@@ -67,4 +71,6 @@ double erand48(unsigned short xseed[3])
double drand48(void)
{
return erand48(_rand48_seed);
-}
\ No newline at end of file
+}
+
+#endif // HAVE_DRAND48
diff --git a/src/klib/drand48.h b/src/klib/drand48.h
index d8fd0f7d..56b55d3c 100644
--- a/src/klib/drand48.h
+++ b/src/klib/drand48.h
@@ -12,11 +12,15 @@
* to anyone/anything when using this software.
*/
-//I've rearranged the source into a header-only implementation for drand48() -Benjamin Kusin
-
#ifndef _DRAND48_H
#define _DRAND48_H
+#ifdef HAVE_CONFIG_H
+#include
+#endif
+
+#ifndef HAVE_DRAND48
+
#define RAND48_SEED_0 (0x330e)
#define RAND48_SEED_1 (0xabcd)
#define RAND48_SEED_2 (0x1234)
@@ -37,5 +41,7 @@ double erand48(unsigned short xseed[3]);
double drand48(void);
+#endif // HAVE_DRAND48
+
+#endif // _DRAND48_H
-#endif // _DRAND48_H
\ No newline at end of file
diff --git a/src/strndup.c b/src/strndup.c
index 61f605b6..6d1a9300 100644
--- a/src/strndup.c
+++ b/src/strndup.c
@@ -1,4 +1,7 @@
+#ifdef HAVE_CONFIG_H
#include
+#endif
+
#ifndef HAVE_STRNDUP
#include
diff --git a/src/strndup.h b/src/strndup.h
index 69dea1a7..7cd3bffb 100644
--- a/src/strndup.h
+++ b/src/strndup.h
@@ -1,7 +1,9 @@
#ifndef STRNDUP_H
#define STRNDUP_H
+#ifdef HAVE_CONFIG_H
#include
+#endif
#ifndef HAVE_STRNDUP
diff --git a/windows/configure.ac b/windows/configure.ac
index b41080f6..0a964cf5 100644
--- a/windows/configure.ac
+++ b/windows/configure.ac
@@ -48,7 +48,7 @@ AC_TYPE_UINT8_T
AC_CHECK_TYPES([ptrdiff_t])
# Checks for library functions.
-AC_CHECK_FUNCS([malloc realloc getcwd gettimeofday memmove memset regcomp setlocale sqrt strdup strndup])
+AC_CHECK_FUNCS([malloc realloc drand48 getcwd gettimeofday memmove memset regcomp setlocale sqrt strdup strndup])
AC_CONFIG_FILES([Makefile
libpostal.pc