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