Commit Graph

100 Commits

Author SHA1 Message Date
Chun-wei Fan 6a5da68ccf Add NMake Makefiles for Visual Studio builds
This adds a set of Visual Studio NMake Makefiles that can be used to
build libpsl, either as a DLL or as a static .lib.  Building of the psl
tool and the tests in tests/ (but not fuzz, since those tests use
fmemopen(), that is not supported on Windows) are also supported.

A simplified "install" target is provided that copies the build
results to a default or set prefix with the pkg-config file so that
other packages (such as libsoup) with build systems that depend on this
.pc file can be built.

These files make use of autotools stuff so that they have the up-to-date
version info upon a release.

Currently, only builds using the ICU runtime/builtin or with no
runtime/builtin are supported with Visual Studio builds.
2018-04-26 17:09:28 +08:00
Tim Rühsen 7cb146765e Fix when built as a projects subdir 2018-04-25 16:50:42 +02:00
Tim Rühsen 64db5a57da Add support for native Win32 builds 2018-04-25 15:56:00 +02:00
Tim Rühsen b220ffb0b9 Fix MinGW cros build on Linux 2018-04-21 11:30:22 +02:00
Tim Rühsen 8595ebb0ce Fix previous commit 2018-04-21 11:26:20 +02:00
Tim Rühsen 1a8e3e01f5 Fallbacks for IDN library detection
When not explictly given --enable-runtime/--enable-builtin,
./configure tries to first detect libidn2, then libicu, then
libidn. If none found, it fals back to --disable-runtime and
--disable-builtin.

Reported-by: Chun-wei Fan
2018-04-20 15:36:36 +02:00
Chun-wei Fan 9620b13374 fuzz: Skip the tests if fmemopen() is not found
fmemopen() is a function that is only provided with *NIX systems, so we
ought to check for its presence in order to build and run the tests
in fuzz/ fully, otherwise, we just skip the tests.

Also include headers according to how they are found, and add fallbacks
for Visual Studio that do not have stdint.h yet.
2018-04-20 14:46:02 +02:00
Tim Rühsen 6244c731b9 Extend visibility support
Also renamed PSL_PUBLIC -> PSL_API (conforming to other known libraries).
2018-04-19 10:07:10 +02:00
Tim Rühsen fe2042fea8 Fix make distcheck without enabled docs 2018-03-06 10:21:45 +01:00
Tim Rühsen 32f3861216 Don't require xsltproc when not building man pages 2018-03-06 09:40:11 +01:00
Tim Rühsen 35d96246e7 Release v0.20.1 2018-02-23 14:50:55 +01:00
Tim Rühsen 9542813a8f Release v0.20.0 2018-02-22 10:04:00 +01:00
Tim Rühsen 9bd2c6ad37 Release v0.19.1 2017-11-09 15:37:26 +01:00
Tim Rühsen c1bf52dbc3 Add -fsanitize-address-use-after-scope to --enable-asan if available 2017-07-27 11:29:02 +02:00
Tim Rühsen 0d2649684f Release v0.18.0 2017-07-20 14:48:12 +02:00
Tim Rühsen 4306c0cfc0 Fix pkg-config support for libidn and libidn2 2017-07-15 12:31:01 +02:00
Tim Rühsen 0a48980efc Use libidn2 as default 2017-07-14 15:53:31 +02:00
Tim Rühsen 90a1198939 Find static libidn2 via configure 2017-07-06 11:08:20 +02:00
Tim Rühsen 47734a6f1f Add --enable-asan and --enable-usan configure options 2017-06-20 16:27:18 +02:00
Tim Rühsen e20e6f369b Add clang's CFI instrumentation
Add --enable-cfi ./configure option to enable
LLVM/Clang's Control Flow Integrity for builds.

CFI aborts a program upon detecting certain forms of undefined behavior
that can potentially allow attackers to subvert the program’s control flow.
2017-06-19 17:14:29 +02:00
Tim Rühsen f41c6aaf63 Add fuzzing architecture 2017-06-09 16:27:37 +02:00
Tim Rühsen 8fddb72033 Release v0.17.0 2017-01-16 12:57:25 +01:00
Tim Rühsen 7d5f3a67af Release v0.16.1 2016-12-15 13:01:45 +01:00
Tim Rühsen 3c3320180e Release v0.16.0 2016-12-10 18:06:44 +01:00
Tim Rühsen ff29f13d8f Add functions psl_latest() and psl_dist_filename()
Also add a new ./configure function to set a distribution wide
PSL file used by psl_latest(): --with-psl-distfile
If possible that filename should point to a DAFSA PSL file that
becomes updated regularly.
2016-12-06 20:16:12 +01:00
Tim Rühsen d83bc6d523 Release v0.15.0 2016-11-14 12:50:48 +01:00
Tim Rühsen 1b36fb0012 Remove -Wall from automake options to reduce verbosity 2016-11-10 11:56:19 +01:00
Tim Rühsen c9de2de301 Fix error msg when libunistring is missing 2016-09-17 14:46:09 +02:00
Dagobert Michelsen 7983f86820 Use proper library path and libs for ICU 2016-09-17 14:46:06 +02:00
Tim Rühsen 0486815dbd Release v0.14.0 2016-07-30 13:53:17 +02:00
Daniel Kahn Gillmor dc7bf5bbae rename src/make_dafsa.py to src/psl-make-dafsa, add documentation
I've talked to the good people on #debian-bootstrap who would be most
affected by the possible build-dep cycle, and i think the simplest
approach is actually to split out make_dafsa.py into its own
architecture-independent package.

I'm thinking i'll call the package psl-make-dafsa, and in the course of
shipping it, i'll place src/make_dafsa.py as /usr/bin/psl-make-dafsa.

This is because:

 * debian discourages scripts on the $PATH from having language-specific
   suffixes like .py:

    https://lintian.debian.org/tags/script-with-language-extension.html

 * "-" appears to be a more common delimiter in command names than "_":

    0 dkg@alice:~$ for x in - _; do printf "%s: %d " "$x" $(ls -1 ${PATH//:/ } | grep -c "$x"); done; echo
    -: 1235 _: 368
    0 dkg@alice:~$

 * i'd prefer to prefix the command with "psl-" since it really is
   producing and interpreting PSL-specific data structures.

Accepting this patch would mean i'd have fewer changes to make in the
debian packaging, and would allow other distributors to take a similar
approach if they want to.
2016-07-14 11:55:04 +02:00
Daniel Kahn Gillmor 248327e4aa use https where possible 2016-07-06 15:32:51 +02:00
Tim Rühsen 514488d9b3 Remove unneeded libraries from tools/psl link step 2016-07-06 13:10:16 +02:00
Tim Rühsen a6ed60e57f Release v0.13.0 2016-03-02 12:25:35 +01:00
Tim Rühsen efdd800cb3 Use tests.txt as PSL test file by default 2016-02-20 23:06:30 +01:00
Tim Rühsen f86094972a Check for python 2.7+ in configure.ac 2016-01-04 20:41:24 +01:00
Tim Rühsen 5bd2db75d2 Release v0.12.0 2016-01-02 14:25:44 +01:00
Tim Rühsen e63ff8abfc Avoid libicu dependency with --enable-runtime=no 2015-12-26 14:44:57 +01:00
Tim Rühsen 620e62348a Revert "Remove ./configure --disable-runtime"
This reverts commit cd5a11b7a5.
2015-12-25 19:40:24 +01:00
Tim Rühsen cd5a11b7a5 Remove ./configure --disable-runtime
With DAFSA as builtin data, we need runtime conversions.
2015-12-15 21:21:28 +01:00
Tim Rühsen 519b8c9d17 Add time measurement for test-is-public-all.c 2015-12-03 10:08:04 +01:00
Tim Rühsen d14ada235c Use echo without -n in configure.ac (compatibility) 2015-11-19 12:11:27 +01:00
Tim Rühsen d1dec3d16e Release v0.11.0 2015-09-23 14:52:04 +02:00
Tim Rühsen eabf39c174 Add version numbers to libpsl.h 2015-09-23 12:38:34 +02:00
Tim Rühsen 789d7ad132 Release v0.10.0 2015-09-19 14:12:49 +02:00
Tim Rühsen fb942952ec Release v0.9.0 2015-09-15 15:17:20 +02:00
Tim Rühsen aa94d57699 Release v0.8.1 2015-08-14 17:05:43 +02:00
Tim Rühsen 6bfa908ff6 Release v0.8.0 2015-08-06 16:35:16 +02:00
Tim Rühsen 71835fcd44 Add https://github.com/publicsuffix as git submodule 2015-07-14 13:25:42 +02:00
Tim Rühsen 37858be73f Avoid shell variables in AC_CONFIG_FILES (won't work) 2015-07-12 22:46:40 +02:00