@@ -1,4 +1,3 @@ | |||||
include Makefile.am.inc | |||||
EXTRA_DIST = README.html README-WIN32.html config.h.win32 doc json-c.vcproj | EXTRA_DIST = README.html README-WIN32.html config.h.win32 doc json-c.vcproj | ||||
SUBDIRS = . tests | 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 | #!/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. | # If there are any options, assume the user wants to run configure. | ||||
# To run configure w/o any options, use ./autogen.sh --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]) | AS_IF([test "x$enable_Bsymbolic" = "xyes"], [JSON_BSYMBOLIC_LDFLAGS=-Wl[,]-Bsymbolic-functions]) | ||||
AC_SUBST(JSON_BSYMBOLIC_LDFLAGS) | 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([ | AC_CONFIG_FILES([ | ||||
Makefile | Makefile | ||||
json-c.pc | json-c.pc | ||||
@@ -1,5 +1,4 @@ | |||||
include ../Makefile.am.inc | |||||
LDADD= $(LIBJSON_LA) | LDADD= $(LIBJSON_LA) | ||||
LIBJSON_LA=$(top_builddir)/libjson-c.la | LIBJSON_LA=$(top_builddir)/libjson-c.la | ||||