| @@ -1,4 +1,3 @@ | |||
| include Makefile.am.inc | |||
| EXTRA_DIST = README.html README-WIN32.html config.h.win32 doc json-c.vcproj | |||
| SUBDIRS = . tests | |||
| @@ -1,2 +0,0 @@ | |||
| AM_CFLAGS = -Wall -Werror -Wno-error=deprecated-declarations -Wextra -Wwrite-strings -Wno-unused-parameter -std=gnu99 -D_GNU_SOURCE -D_REENTRANT | |||
| @@ -0,0 +1,7 @@ | |||
| Autoconf Archive fetched from: | |||
| http://gnu.mirror.iweb.com/autoconf-archive/autoconf-archive-2015.09.25.tar.xz | |||
| Grabbed the minimum files needed for the AX_APPEND_COMPILE_FLAGS macro. | |||
| @@ -0,0 +1,65 @@ | |||
| # =========================================================================== | |||
| # http://www.gnu.org/software/autoconf-archive/ax_append_compile_flags.html | |||
| # =========================================================================== | |||
| # | |||
| # SYNOPSIS | |||
| # | |||
| # AX_APPEND_COMPILE_FLAGS([FLAG1 FLAG2 ...], [FLAGS-VARIABLE], [EXTRA-FLAGS]) | |||
| # | |||
| # DESCRIPTION | |||
| # | |||
| # For every FLAG1, FLAG2 it is checked whether the compiler works with the | |||
| # flag. If it does, the flag is added FLAGS-VARIABLE | |||
| # | |||
| # If FLAGS-VARIABLE is not specified, the current language's flags (e.g. | |||
| # CFLAGS) is used. During the check the flag is always added to the | |||
| # current language's flags. | |||
| # | |||
| # If EXTRA-FLAGS is defined, it is added to the current language's default | |||
| # flags (e.g. CFLAGS) when the check is done. The check is thus made with | |||
| # the flags: "CFLAGS EXTRA-FLAGS FLAG". This can for example be used to | |||
| # force the compiler to issue an error when a bad flag is given. | |||
| # | |||
| # NOTE: This macro depends on the AX_APPEND_FLAG and | |||
| # AX_CHECK_COMPILE_FLAG. Please keep this macro in sync with | |||
| # AX_APPEND_LINK_FLAGS. | |||
| # | |||
| # LICENSE | |||
| # | |||
| # Copyright (c) 2011 Maarten Bosmans <mkbosmans@gmail.com> | |||
| # | |||
| # This program is free software: you can redistribute it and/or modify it | |||
| # under the terms of the GNU General Public License as published by the | |||
| # Free Software Foundation, either version 3 of the License, or (at your | |||
| # option) any later version. | |||
| # | |||
| # This program is distributed in the hope that it will be useful, but | |||
| # WITHOUT ANY WARRANTY; without even the implied warranty of | |||
| # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General | |||
| # Public License for more details. | |||
| # | |||
| # You should have received a copy of the GNU General Public License along | |||
| # with this program. If not, see <http://www.gnu.org/licenses/>. | |||
| # | |||
| # As a special exception, the respective Autoconf Macro's copyright owner | |||
| # gives unlimited permission to copy, distribute and modify the configure | |||
| # scripts that are the output of Autoconf when processing the Macro. You | |||
| # need not follow the terms of the GNU General Public License when using | |||
| # or distributing such scripts, even though portions of the text of the | |||
| # Macro appear in them. The GNU General Public License (GPL) does govern | |||
| # all other use of the material that constitutes the Autoconf Macro. | |||
| # | |||
| # This special exception to the GPL applies to versions of the Autoconf | |||
| # Macro released by the Autoconf Archive. When you make and distribute a | |||
| # modified version of the Autoconf Macro, you may extend this special | |||
| # exception to the GPL to apply to your modified version as well. | |||
| #serial 4 | |||
| AC_DEFUN([AX_APPEND_COMPILE_FLAGS], | |||
| [AX_REQUIRE_DEFINED([AX_CHECK_COMPILE_FLAG]) | |||
| AX_REQUIRE_DEFINED([AX_APPEND_FLAG]) | |||
| for flag in $1; do | |||
| AX_CHECK_COMPILE_FLAG([$flag], [AX_APPEND_FLAG([$flag], [$2])], [], [$3]) | |||
| done | |||
| ])dnl AX_APPEND_COMPILE_FLAGS | |||
| @@ -0,0 +1,71 @@ | |||
| # =========================================================================== | |||
| # http://www.gnu.org/software/autoconf-archive/ax_append_flag.html | |||
| # =========================================================================== | |||
| # | |||
| # SYNOPSIS | |||
| # | |||
| # AX_APPEND_FLAG(FLAG, [FLAGS-VARIABLE]) | |||
| # | |||
| # DESCRIPTION | |||
| # | |||
| # FLAG is appended to the FLAGS-VARIABLE shell variable, with a space | |||
| # added in between. | |||
| # | |||
| # If FLAGS-VARIABLE is not specified, the current language's flags (e.g. | |||
| # CFLAGS) is used. FLAGS-VARIABLE is not changed if it already contains | |||
| # FLAG. If FLAGS-VARIABLE is unset in the shell, it is set to exactly | |||
| # FLAG. | |||
| # | |||
| # NOTE: Implementation based on AX_CFLAGS_GCC_OPTION. | |||
| # | |||
| # LICENSE | |||
| # | |||
| # Copyright (c) 2008 Guido U. Draheim <guidod@gmx.de> | |||
| # Copyright (c) 2011 Maarten Bosmans <mkbosmans@gmail.com> | |||
| # | |||
| # This program is free software: you can redistribute it and/or modify it | |||
| # under the terms of the GNU General Public License as published by the | |||
| # Free Software Foundation, either version 3 of the License, or (at your | |||
| # option) any later version. | |||
| # | |||
| # This program is distributed in the hope that it will be useful, but | |||
| # WITHOUT ANY WARRANTY; without even the implied warranty of | |||
| # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General | |||
| # Public License for more details. | |||
| # | |||
| # You should have received a copy of the GNU General Public License along | |||
| # with this program. If not, see <http://www.gnu.org/licenses/>. | |||
| # | |||
| # As a special exception, the respective Autoconf Macro's copyright owner | |||
| # gives unlimited permission to copy, distribute and modify the configure | |||
| # scripts that are the output of Autoconf when processing the Macro. You | |||
| # need not follow the terms of the GNU General Public License when using | |||
| # or distributing such scripts, even though portions of the text of the | |||
| # Macro appear in them. The GNU General Public License (GPL) does govern | |||
| # all other use of the material that constitutes the Autoconf Macro. | |||
| # | |||
| # This special exception to the GPL applies to versions of the Autoconf | |||
| # Macro released by the Autoconf Archive. When you make and distribute a | |||
| # modified version of the Autoconf Macro, you may extend this special | |||
| # exception to the GPL to apply to your modified version as well. | |||
| #serial 6 | |||
| AC_DEFUN([AX_APPEND_FLAG], | |||
| [dnl | |||
| AC_PREREQ(2.64)dnl for _AC_LANG_PREFIX and AS_VAR_SET_IF | |||
| AS_VAR_PUSHDEF([FLAGS], [m4_default($2,_AC_LANG_PREFIX[FLAGS])]) | |||
| AS_VAR_SET_IF(FLAGS,[ | |||
| AS_CASE([" AS_VAR_GET(FLAGS) "], | |||
| [*" $1 "*], [AC_RUN_LOG([: FLAGS already contains $1])], | |||
| [ | |||
| AS_VAR_APPEND(FLAGS,[" $1"]) | |||
| AC_RUN_LOG([: FLAGS="$FLAGS"]) | |||
| ]) | |||
| ], | |||
| [ | |||
| AS_VAR_SET(FLAGS,[$1]) | |||
| AC_RUN_LOG([: FLAGS="$FLAGS"]) | |||
| ]) | |||
| AS_VAR_POPDEF([FLAGS])dnl | |||
| ])dnl AX_APPEND_FLAG | |||
| @@ -0,0 +1,74 @@ | |||
| # =========================================================================== | |||
| # http://www.gnu.org/software/autoconf-archive/ax_check_compile_flag.html | |||
| # =========================================================================== | |||
| # | |||
| # SYNOPSIS | |||
| # | |||
| # AX_CHECK_COMPILE_FLAG(FLAG, [ACTION-SUCCESS], [ACTION-FAILURE], [EXTRA-FLAGS], [INPUT]) | |||
| # | |||
| # DESCRIPTION | |||
| # | |||
| # Check whether the given FLAG works with the current language's compiler | |||
| # or gives an error. (Warnings, however, are ignored) | |||
| # | |||
| # ACTION-SUCCESS/ACTION-FAILURE are shell commands to execute on | |||
| # success/failure. | |||
| # | |||
| # If EXTRA-FLAGS is defined, it is added to the current language's default | |||
| # flags (e.g. CFLAGS) when the check is done. The check is thus made with | |||
| # the flags: "CFLAGS EXTRA-FLAGS FLAG". This can for example be used to | |||
| # force the compiler to issue an error when a bad flag is given. | |||
| # | |||
| # INPUT gives an alternative input source to AC_COMPILE_IFELSE. | |||
| # | |||
| # NOTE: Implementation based on AX_CFLAGS_GCC_OPTION. Please keep this | |||
| # macro in sync with AX_CHECK_{PREPROC,LINK}_FLAG. | |||
| # | |||
| # LICENSE | |||
| # | |||
| # Copyright (c) 2008 Guido U. Draheim <guidod@gmx.de> | |||
| # Copyright (c) 2011 Maarten Bosmans <mkbosmans@gmail.com> | |||
| # | |||
| # This program is free software: you can redistribute it and/or modify it | |||
| # under the terms of the GNU General Public License as published by the | |||
| # Free Software Foundation, either version 3 of the License, or (at your | |||
| # option) any later version. | |||
| # | |||
| # This program is distributed in the hope that it will be useful, but | |||
| # WITHOUT ANY WARRANTY; without even the implied warranty of | |||
| # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General | |||
| # Public License for more details. | |||
| # | |||
| # You should have received a copy of the GNU General Public License along | |||
| # with this program. If not, see <http://www.gnu.org/licenses/>. | |||
| # | |||
| # As a special exception, the respective Autoconf Macro's copyright owner | |||
| # gives unlimited permission to copy, distribute and modify the configure | |||
| # scripts that are the output of Autoconf when processing the Macro. You | |||
| # need not follow the terms of the GNU General Public License when using | |||
| # or distributing such scripts, even though portions of the text of the | |||
| # Macro appear in them. The GNU General Public License (GPL) does govern | |||
| # all other use of the material that constitutes the Autoconf Macro. | |||
| # | |||
| # This special exception to the GPL applies to versions of the Autoconf | |||
| # Macro released by the Autoconf Archive. When you make and distribute a | |||
| # modified version of the Autoconf Macro, you may extend this special | |||
| # exception to the GPL to apply to your modified version as well. | |||
| #serial 4 | |||
| AC_DEFUN([AX_CHECK_COMPILE_FLAG], | |||
| [AC_PREREQ(2.64)dnl for _AC_LANG_PREFIX and AS_VAR_IF | |||
| AS_VAR_PUSHDEF([CACHEVAR],[ax_cv_check_[]_AC_LANG_ABBREV[]flags_$4_$1])dnl | |||
| AC_CACHE_CHECK([whether _AC_LANG compiler accepts $1], CACHEVAR, [ | |||
| ax_check_save_flags=$[]_AC_LANG_PREFIX[]FLAGS | |||
| _AC_LANG_PREFIX[]FLAGS="$[]_AC_LANG_PREFIX[]FLAGS $4 $1" | |||
| AC_COMPILE_IFELSE([m4_default([$5],[AC_LANG_PROGRAM()])], | |||
| [AS_VAR_SET(CACHEVAR,[yes])], | |||
| [AS_VAR_SET(CACHEVAR,[no])]) | |||
| _AC_LANG_PREFIX[]FLAGS=$ax_check_save_flags]) | |||
| AS_VAR_IF(CACHEVAR,yes, | |||
| [m4_default([$2], :)], | |||
| [m4_default([$3], :)]) | |||
| AS_VAR_POPDEF([CACHEVAR])dnl | |||
| ])dnl AX_CHECK_COMPILE_FLAGS | |||
| @@ -0,0 +1,37 @@ | |||
| # =========================================================================== | |||
| # http://www.gnu.org/software/autoconf-archive/ax_require_defined.html | |||
| # =========================================================================== | |||
| # | |||
| # SYNOPSIS | |||
| # | |||
| # AX_REQUIRE_DEFINED(MACRO) | |||
| # | |||
| # DESCRIPTION | |||
| # | |||
| # AX_REQUIRE_DEFINED is a simple helper for making sure other macros have | |||
| # been defined and thus are available for use. This avoids random issues | |||
| # where a macro isn't expanded. Instead the configure script emits a | |||
| # non-fatal: | |||
| # | |||
| # ./configure: line 1673: AX_CFLAGS_WARN_ALL: command not found | |||
| # | |||
| # It's like AC_REQUIRE except it doesn't expand the required macro. | |||
| # | |||
| # Here's an example: | |||
| # | |||
| # AX_REQUIRE_DEFINED([AX_CHECK_LINK_FLAG]) | |||
| # | |||
| # LICENSE | |||
| # | |||
| # Copyright (c) 2014 Mike Frysinger <vapier@gentoo.org> | |||
| # | |||
| # Copying and distribution of this file, with or without modification, are | |||
| # permitted in any medium without royalty provided the copyright notice | |||
| # and this notice are preserved. This file is offered as-is, without any | |||
| # warranty. | |||
| #serial 1 | |||
| AC_DEFUN([AX_REQUIRE_DEFINED], [dnl | |||
| m4_ifndef([$1], [m4_fatal([macro ]$1[ is not defined; is a m4 file missing?])]) | |||
| ])dnl AX_REQUIRE_DEFINED | |||
| @@ -1,5 +1,5 @@ | |||
| #!/bin/sh | |||
| autoreconf -v --install || exit 1 | |||
| autoreconf -Iautoconf-archive/m4 -v --install || exit 1 | |||
| # If there are any options, assume the user wants to run configure. | |||
| # To run configure w/o any options, use ./autogen.sh --configure | |||
| @@ -102,6 +102,11 @@ AS_IF([test "x$enable_Bsymbolic" = "xcheck"], | |||
| AS_IF([test "x$enable_Bsymbolic" = "xyes"], [JSON_BSYMBOLIC_LDFLAGS=-Wl[,]-Bsymbolic-functions]) | |||
| AC_SUBST(JSON_BSYMBOLIC_LDFLAGS) | |||
| AX_APPEND_COMPILE_FLAGS([-Wall -Werror -Wno-error=deprecated-declarations]) | |||
| AX_APPEND_COMPILE_FLAGS([-Wextra -Wwrite-string -Wno-unused-parameter]) | |||
| AX_APPEND_COMPILE_FLAGS([-std=gnu99]) | |||
| AX_APPEND_COMPILE_FLAGS([-D_GNU_SOURCE -D_REENTRANT]) | |||
| AC_CONFIG_FILES([ | |||
| Makefile | |||
| json-c.pc | |||
| @@ -1,5 +1,4 @@ | |||
| include ../Makefile.am.inc | |||
| LDADD= $(LIBJSON_LA) | |||
| LIBJSON_LA=$(top_builddir)/libjson-c.la | |||