fizx-ordered_json 0.3.1 → 0.3.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (89) hide show
  1. data/.gitignore +29 -0
  2. data/CHANGELOG +22 -0
  3. data/README +4 -0
  4. data/Rakefile +35 -0
  5. data/ext/Makefile +149 -0
  6. data/ext/json-c-0.8/AUTHORS +2 -0
  7. data/ext/json-c-0.8/COPYING +19 -0
  8. data/ext/json-c-0.8/ChangeLog +73 -0
  9. data/ext/json-c-0.8/INSTALL +229 -0
  10. data/ext/json-c-0.8/Makefile.am +43 -0
  11. data/ext/json-c-0.8/Makefile.in +734 -0
  12. data/ext/json-c-0.8/NEWS +1 -0
  13. data/ext/json-c-0.8/README +20 -0
  14. data/ext/json-c-0.8/aclocal.m4 +8794 -0
  15. data/ext/json-c-0.8/arraylist.c +93 -0
  16. data/ext/json-c-0.8/arraylist.h +45 -0
  17. data/ext/json-c-0.8/bits.h +27 -0
  18. data/ext/json-c-0.8/config.guess +1526 -0
  19. data/ext/json-c-0.8/config.h.in +121 -0
  20. data/ext/json-c-0.8/config.sub +1658 -0
  21. data/ext/json-c-0.8/configure +14243 -0
  22. data/ext/json-c-0.8/configure.in +33 -0
  23. data/ext/json-c-0.8/debug.c +98 -0
  24. data/ext/json-c-0.8/debug.h +42 -0
  25. data/ext/json-c-0.8/depcomp +530 -0
  26. data/ext/json-c-0.8/doc/html/annotated.html +40 -0
  27. data/ext/json-c-0.8/doc/html/arraylist_8h.html +234 -0
  28. data/ext/json-c-0.8/doc/html/bits_8h.html +144 -0
  29. data/ext/json-c-0.8/doc/html/config_8h.html +606 -0
  30. data/ext/json-c-0.8/doc/html/debug_8h.html +386 -0
  31. data/ext/json-c-0.8/doc/html/doxygen.css +473 -0
  32. data/ext/json-c-0.8/doc/html/doxygen.png +0 -0
  33. data/ext/json-c-0.8/doc/html/files.html +42 -0
  34. data/ext/json-c-0.8/doc/html/functions.html +206 -0
  35. data/ext/json-c-0.8/doc/html/functions_vars.html +206 -0
  36. data/ext/json-c-0.8/doc/html/globals.html +445 -0
  37. data/ext/json-c-0.8/doc/html/globals_defs.html +200 -0
  38. data/ext/json-c-0.8/doc/html/globals_enum.html +50 -0
  39. data/ext/json-c-0.8/doc/html/globals_eval.html +135 -0
  40. data/ext/json-c-0.8/doc/html/globals_func.html +194 -0
  41. data/ext/json-c-0.8/doc/html/globals_type.html +58 -0
  42. data/ext/json-c-0.8/doc/html/globals_vars.html +50 -0
  43. data/ext/json-c-0.8/doc/html/index.html +25 -0
  44. data/ext/json-c-0.8/doc/html/json_8h.html +26 -0
  45. data/ext/json-c-0.8/doc/html/json__object_8h.html +1042 -0
  46. data/ext/json-c-0.8/doc/html/json__object__private_8h.html +69 -0
  47. data/ext/json-c-0.8/doc/html/json__tokener_8h.html +360 -0
  48. data/ext/json-c-0.8/doc/html/json__util_8h.html +100 -0
  49. data/ext/json-c-0.8/doc/html/linkhash_8h.html +734 -0
  50. data/ext/json-c-0.8/doc/html/printbuf_8h.html +171 -0
  51. data/ext/json-c-0.8/doc/html/structarray__list.html +104 -0
  52. data/ext/json-c-0.8/doc/html/structjson__object.html +141 -0
  53. data/ext/json-c-0.8/doc/html/structjson__object__iter.html +87 -0
  54. data/ext/json-c-0.8/doc/html/structjson__tokener.html +206 -0
  55. data/ext/json-c-0.8/doc/html/structjson__tokener__srec.html +104 -0
  56. data/ext/json-c-0.8/doc/html/structlh__entry.html +105 -0
  57. data/ext/json-c-0.8/doc/html/structlh__table.html +275 -0
  58. data/ext/json-c-0.8/doc/html/structprintbuf.html +87 -0
  59. data/ext/json-c-0.8/doc/html/tab_b.gif +0 -0
  60. data/ext/json-c-0.8/doc/html/tab_l.gif +0 -0
  61. data/ext/json-c-0.8/doc/html/tab_r.gif +0 -0
  62. data/ext/json-c-0.8/doc/html/tabs.css +102 -0
  63. data/ext/json-c-0.8/doc/html/unionjson__object_1_1data.html +140 -0
  64. data/ext/json-c-0.8/install-sh +519 -0
  65. data/ext/json-c-0.8/json.h +31 -0
  66. data/ext/json-c-0.8/json.pc.in +11 -0
  67. data/ext/json-c-0.8/json_object.c +511 -0
  68. data/ext/json-c-0.8/json_object.h +310 -0
  69. data/ext/json-c-0.8/json_object_private.h +44 -0
  70. data/ext/json-c-0.8/json_tokener.c +517 -0
  71. data/ext/json-c-0.8/json_tokener.h +90 -0
  72. data/ext/json-c-0.8/json_util.c +122 -0
  73. data/ext/json-c-0.8/json_util.h +23 -0
  74. data/ext/json-c-0.8/linkhash.c +218 -0
  75. data/ext/json-c-0.8/linkhash.h +264 -0
  76. data/ext/json-c-0.8/ltmain.sh +7880 -0
  77. data/ext/json-c-0.8/missing +360 -0
  78. data/ext/json-c-0.8/printbuf.c +145 -0
  79. data/ext/json-c-0.8/printbuf.h +38 -0
  80. data/ext/json-c-0.8/test1.c +164 -0
  81. data/ext/json-c-0.8/test2.c +20 -0
  82. data/ext/json-c-0.8/test3.c +22 -0
  83. data/ext/ordered_json_c.c +199 -0
  84. data/lib/ordered_json.rb +26 -0
  85. data/ordered_json.gemspec +102 -0
  86. data/test/crashing_example.rb +1 -0
  87. data/test/ordered_json_test.rb +86 -0
  88. data/test/pretty.json +11 -0
  89. metadata +91 -50
data/.gitignore ADDED
@@ -0,0 +1,29 @@
1
+ *.gem
2
+ ext/ordered_json_c.o
3
+ ext/conftest.dSYM
4
+ ext/mkmf.log
5
+ ext/ordered_json_c.bundle
6
+ ext/json-c-0.8/.deps/
7
+ ext/json-c-0.8/.libs/
8
+ ext/json-c-0.8/Makefile
9
+ ext/json-c-0.8/arraylist.lo
10
+ ext/json-c-0.8/arraylist.o
11
+ ext/json-c-0.8/config.h
12
+ ext/json-c-0.8/config.log
13
+ ext/json-c-0.8/config.status
14
+ ext/json-c-0.8/debug.lo
15
+ ext/json-c-0.8/debug.o
16
+ ext/json-c-0.8/json.pc
17
+ ext/json-c-0.8/json_object.lo
18
+ ext/json-c-0.8/json_object.o
19
+ ext/json-c-0.8/json_tokener.lo
20
+ ext/json-c-0.8/json_tokener.o
21
+ ext/json-c-0.8/json_util.lo
22
+ ext/json-c-0.8/json_util.o
23
+ ext/json-c-0.8/libjson.la
24
+ ext/json-c-0.8/libtool
25
+ ext/json-c-0.8/linkhash.lo
26
+ ext/json-c-0.8/linkhash.o
27
+ ext/json-c-0.8/printbuf.lo
28
+ ext/json-c-0.8/printbuf.o
29
+ ext/json-c-0.8/stamp-h1
data/CHANGELOG ADDED
@@ -0,0 +1,22 @@
1
+ Feb 11 2009
2
+ - 0.1.0
3
+ -- initial release
4
+ Feb 12 2009
5
+ - 0.1.1
6
+ -- Rake tasks
7
+ -- more test coverage
8
+ -- NPE fix in oj_parse
9
+ - 0.1.2
10
+ -- fixed function name typo
11
+ Feb 15 2009
12
+ - 0.1.3
13
+ -- exceptions for parse error
14
+ Feb 17 2009
15
+ - 0.2.0
16
+ -- pretty dump
17
+ Feb 14 2009
18
+ - 0.3.0
19
+ -- bundled the json-c library
20
+ March 7 2009
21
+ - 0.3.1
22
+ -- fixed sprintbuf invocation bug
data/README ADDED
@@ -0,0 +1,4 @@
1
+ Features:
2
+ - Ruby 1.8 OrderedHash implementation (uses collections gem for now)
3
+ - OrderedJSON.parse(string) -> OrderedHash, etc. (fast, C implementation)
4
+ - OrderedJSON.dump(OrderedHash.new) -> preserves ordering
data/Rakefile ADDED
@@ -0,0 +1,35 @@
1
+ task :default => :test
2
+
3
+ task :test => :build do
4
+ require "test/ordered_json_test"
5
+ end
6
+
7
+ task :build_clean => [:clean, :build]
8
+
9
+ task :build => "ext/Makefile" do
10
+ system("cd ext && make")
11
+ end
12
+
13
+ file "ext/Makefile" do
14
+ system("cd ext && ruby extconf.rb")
15
+ end
16
+
17
+ task :build_gem => :clean do
18
+ system "gem build ordered_json.gemspec"
19
+ end
20
+
21
+ task :install => :build_gem do
22
+ system "gem install ordered_json"
23
+ end
24
+
25
+ task :uninstall do
26
+ system "gem uninstall -a ordered_json"
27
+ system "gem uninstall -a fizx-ordered_json"
28
+ end
29
+
30
+ task :clean do
31
+ rm Dir[ "ext/*.o" ]
32
+ rm Dir[ "ext/*.la" ]
33
+ rm Dir[ "ext/*.a" ]
34
+ rm Dir[ "ext/*.bundle" ]
35
+ end
data/ext/Makefile ADDED
@@ -0,0 +1,149 @@
1
+
2
+ SHELL = /bin/sh
3
+
4
+ #### Start of system configuration section. ####
5
+
6
+ srcdir = .
7
+ topdir = /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/universal-darwin9.0
8
+ hdrdir = $(topdir)
9
+ VPATH = $(srcdir):$(topdir):$(hdrdir)
10
+ prefix = $(DESTDIR)/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr
11
+ exec_prefix = $(prefix)
12
+ sitedir = $(DESTDIR)/Library/Ruby/Site
13
+ rubylibdir = $(libdir)/ruby/$(ruby_version)
14
+ docdir = $(datarootdir)/doc/$(PACKAGE)
15
+ dvidir = $(docdir)
16
+ datarootdir = $(prefix)/share
17
+ archdir = $(rubylibdir)/$(arch)
18
+ sbindir = $(exec_prefix)/sbin
19
+ psdir = $(docdir)
20
+ localedir = $(datarootdir)/locale
21
+ htmldir = $(docdir)
22
+ datadir = $(datarootdir)
23
+ includedir = $(prefix)/include
24
+ infodir = $(DESTDIR)/usr/share/info
25
+ sysconfdir = $(prefix)/etc
26
+ mandir = $(DESTDIR)/usr/share/man
27
+ libdir = $(exec_prefix)/lib
28
+ sharedstatedir = $(prefix)/com
29
+ oldincludedir = $(DESTDIR)/usr/include
30
+ pdfdir = $(docdir)
31
+ sitearchdir = $(sitelibdir)/$(sitearch)
32
+ bindir = $(exec_prefix)/bin
33
+ localstatedir = $(prefix)/var
34
+ sitelibdir = $(sitedir)/$(ruby_version)
35
+ libexecdir = $(exec_prefix)/libexec
36
+
37
+ CC = gcc
38
+ LIBRUBY = $(LIBRUBY_SO)
39
+ LIBRUBY_A = lib$(RUBY_SO_NAME)-static.a
40
+ LIBRUBYARG_SHARED = -l$(RUBY_SO_NAME)
41
+ LIBRUBYARG_STATIC = -l$(RUBY_SO_NAME)
42
+
43
+ RUBY_EXTCONF_H =
44
+ CFLAGS = -fno-common -arch i386 -Os -pipe -fno-common -std=c99 -g -DXP_UNIX -O3 -Wall -Wextra -Wcast-qual -Wwrite-strings -Wconversion -Wmissing-noreturn -Winline
45
+ INCFLAGS = -I. -I. -I/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/universal-darwin9.0 -I.
46
+ CPPFLAGS =
47
+ CXXFLAGS = $(CFLAGS)
48
+ DLDFLAGS = -L. -arch i386
49
+ LDSHARED = cc -arch i386 -pipe -bundle -undefined dynamic_lookup
50
+ AR = ar
51
+ EXEEXT =
52
+
53
+ RUBY_INSTALL_NAME = ruby
54
+ RUBY_SO_NAME = ruby
55
+ arch = universal-darwin9.0
56
+ sitearch = universal-darwin9.0
57
+ ruby_version = 1.8
58
+ ruby = /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby
59
+ RUBY = $(ruby)
60
+ RM = rm -f
61
+ MAKEDIRS = mkdir -p
62
+ INSTALL = /usr/bin/install -c
63
+ INSTALL_PROG = $(INSTALL) -m 0755
64
+ INSTALL_DATA = $(INSTALL) -m 644
65
+ COPY = cp
66
+
67
+ #### End of system configuration section. ####
68
+
69
+ preload =
70
+
71
+ libpath = . $(libdir)
72
+ LIBPATH = -L"." -L"$(libdir)"
73
+ DEFFILE =
74
+
75
+ CLEANFILES = mkmf.log
76
+ DISTCLEANFILES =
77
+
78
+ extout =
79
+ extout_prefix =
80
+ target_prefix =
81
+ LOCAL_LIBS =
82
+ LIBS = $(LIBRUBYARG_SHARED) -ljson -lpthread -ldl -lm
83
+ SRCS = ordered_json_c.c
84
+ OBJS = ordered_json_c.o
85
+ TARGET = ordered_json_c
86
+ DLLIB = $(TARGET).bundle
87
+ EXTSTATIC =
88
+ STATIC_LIB =
89
+
90
+ RUBYCOMMONDIR = $(sitedir)$(target_prefix)
91
+ RUBYLIBDIR = $(sitelibdir)$(target_prefix)
92
+ RUBYARCHDIR = $(sitearchdir)$(target_prefix)
93
+
94
+ TARGET_SO = $(DLLIB)
95
+ CLEANLIBS = $(TARGET).bundle $(TARGET).il? $(TARGET).tds $(TARGET).map
96
+ CLEANOBJS = *.o *.a *.s[ol] *.pdb *.exp *.bak
97
+
98
+ all: $(DLLIB)
99
+ static: $(STATIC_LIB)
100
+
101
+ clean:
102
+ @-$(RM) $(CLEANLIBS) $(CLEANOBJS) $(CLEANFILES)
103
+
104
+ distclean: clean
105
+ @-$(RM) Makefile $(RUBY_EXTCONF_H) conftest.* mkmf.log
106
+ @-$(RM) core ruby$(EXEEXT) *~ $(DISTCLEANFILES)
107
+
108
+ realclean: distclean
109
+ install: install-so install-rb
110
+
111
+ install-so: $(RUBYARCHDIR)
112
+ install-so: $(RUBYARCHDIR)/$(DLLIB)
113
+ $(RUBYARCHDIR)/$(DLLIB): $(DLLIB)
114
+ $(INSTALL_PROG) $(DLLIB) $(RUBYARCHDIR)
115
+ install-rb: pre-install-rb install-rb-default
116
+ install-rb-default: pre-install-rb-default
117
+ pre-install-rb: Makefile
118
+ pre-install-rb-default: Makefile
119
+ $(RUBYARCHDIR):
120
+ $(MAKEDIRS) $@
121
+
122
+ site-install: site-install-so site-install-rb
123
+ site-install-so: install-so
124
+ site-install-rb: install-rb
125
+
126
+ .SUFFIXES: .c .m .cc .cxx .cpp .C .o
127
+
128
+ .cc.o:
129
+ $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) -c $<
130
+
131
+ .cxx.o:
132
+ $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) -c $<
133
+
134
+ .cpp.o:
135
+ $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) -c $<
136
+
137
+ .C.o:
138
+ $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) -c $<
139
+
140
+ .c.o:
141
+ $(CC) $(INCFLAGS) $(CPPFLAGS) $(CFLAGS) -c $<
142
+
143
+ $(DLLIB): $(OBJS)
144
+ @-$(RM) $@
145
+ $(LDSHARED) -o $@ $(OBJS) $(LIBPATH) $(DLDFLAGS) $(LOCAL_LIBS) $(LIBS)
146
+
147
+
148
+
149
+ $(OBJS): ruby.h defines.h
@@ -0,0 +1,2 @@
1
+ Michael Clark <michael@metaparadigm.com>
2
+ C. Watford (christopher.watford@gmail.com)
@@ -0,0 +1,19 @@
1
+ Copyright (c) 2004, 2005 Metaparadigm Pte Ltd
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining a
4
+ copy of this software and associated documentation files (the "Software"),
5
+ to deal in the Software without restriction, including without limitation
6
+ the rights to use, copy, modify, merge, publish, distribute, sublicense,
7
+ and/or sell copies of the Software, and to permit persons to whom the
8
+ Software is furnished to do so, subject to the following conditions:
9
+
10
+ The above copyright notice and this permission notice shall be included
11
+ in all copies or substantial portions of the Software.
12
+
13
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
19
+ SOFTWARE.
@@ -0,0 +1,73 @@
1
+ 0.8
2
+ * Add va_end for every va_start
3
+ Dotan Barak, dotanba at gmail dot com
4
+ * Add macros to enable compiling out debug code
5
+ Geoffrey Young, geoff at modperlcookbook dot org
6
+ * Fix bug with use of capital E in numbers with exponents
7
+ Mateusz Loskot, mateusz at loskot dot net
8
+ * Add stddef.h include
9
+ * Patch allows for json-c compile with -Werror and not fail due to
10
+ -Wmissing-prototypes -Wstrict-prototypes -Wmissing-declarations
11
+ Geoffrey Young, geoff at modperlcookbook dot org
12
+
13
+ 0.7
14
+ * Add escaping of backslash to json output
15
+ * Add escaping of foward slash on tokenizing and output
16
+ * Changes to internal tokenizer from using recursion to
17
+ using a depth state structure to allow incremental parsing
18
+
19
+ 0.6
20
+ * Fix bug in escaping of control characters
21
+ Johan Bj�rklund, johbjo09 at kth dot se
22
+ * Remove include "config.h" from headers (should only
23
+ be included from .c files)
24
+ Michael Clark <michael@metaparadigm.com>
25
+
26
+ 0.5
27
+ * Make headers C++ compatible by change *this to *obj
28
+ * Add ifdef C++ extern "C" to headers
29
+ * Use simpler definition of min and max in bits.h
30
+ Larry Lansing, llansing at fuzzynerd dot com
31
+
32
+ * Remove automake 1.6 requirement
33
+ * Move autogen commands into autogen.sh. Update README
34
+ * Remove error pointer special case for Windows
35
+ * Change license from LGPL to MIT
36
+ Michael Clark <michael@metaparadigm.com>
37
+
38
+ 0.4
39
+ * Fix additional error case in object parsing
40
+ * Add back sign reversal in nested object parse as error pointer
41
+ value is negative, while error value is positive.
42
+ Michael Clark <michael@metaparadigm.com>
43
+
44
+ 0.3
45
+ * fix pointer arithmetic bug for error pointer check in is_error() macro
46
+ * fix type passed to printbuf_memappend in json_tokener
47
+ * update autotools bootstrap instructions in README
48
+ Michael Clark <michael@metaparadigm.com>
49
+
50
+ 0.2
51
+ * printbuf.c - C. Watford (christopher.watford@gmail.com)
52
+ Added a Win32/Win64 compliant implementation of vasprintf
53
+ * debug.c - C. Watford (christopher.watford@gmail.com)
54
+ Removed usage of vsyslog on Win32/Win64 systems, needs to be handled
55
+ by a configure script
56
+ * json_object.c - C. Watford (christopher.watford@gmail.com)
57
+ Added scope operator to wrap usage of json_object_object_foreach, this
58
+ needs to be rethought to be more ANSI C friendly
59
+ * json_object.h - C. Watford (christopher.watford@gmail.com)
60
+ Added Microsoft C friendly version of json_object_object_foreach
61
+ * json_tokener.c - C. Watford (christopher.watford@gmail.com)
62
+ Added a Win32/Win64 compliant implementation of strndup
63
+ * json_util.c - C. Watford (christopher.watford@gmail.com)
64
+ Added cast and mask to suffice size_t v. unsigned int conversion
65
+ correctness
66
+ * json_tokener.c - sign reversal issue on error info for nested object parse
67
+ spotted by Johan Bj�rklund (johbjo09 at kth.se)
68
+ * json_object.c - escape " in json_escape_str
69
+ * Change to automake and libtool to build shared and static library
70
+ Michael Clark <michael@metaparadigm.com>
71
+
72
+ 0.1
73
+ * initial release
@@ -0,0 +1,229 @@
1
+ Copyright 1994, 1995, 1996, 1999, 2000, 2001, 2002 Free Software
2
+ Foundation, Inc.
3
+
4
+ This file is free documentation; the Free Software Foundation gives
5
+ unlimited permission to copy, distribute and modify it.
6
+
7
+ Basic Installation
8
+ ==================
9
+
10
+ These are generic installation instructions.
11
+
12
+ The `configure' shell script attempts to guess correct values for
13
+ various system-dependent variables used during compilation. It uses
14
+ those values to create a `Makefile' in each directory of the package.
15
+ It may also create one or more `.h' files containing system-dependent
16
+ definitions. Finally, it creates a shell script `config.status' that
17
+ you can run in the future to recreate the current configuration, and a
18
+ file `config.log' containing compiler output (useful mainly for
19
+ debugging `configure').
20
+
21
+ It can also use an optional file (typically called `config.cache'
22
+ and enabled with `--cache-file=config.cache' or simply `-C') that saves
23
+ the results of its tests to speed up reconfiguring. (Caching is
24
+ disabled by default to prevent problems with accidental use of stale
25
+ cache files.)
26
+
27
+ If you need to do unusual things to compile the package, please try
28
+ to figure out how `configure' could check whether to do them, and mail
29
+ diffs or instructions to the address given in the `README' so they can
30
+ be considered for the next release. If you are using the cache, and at
31
+ some point `config.cache' contains results you don't want to keep, you
32
+ may remove or edit it.
33
+
34
+ The file `configure.ac' (or `configure.in') is used to create
35
+ `configure' by a program called `autoconf'. You only need
36
+ `configure.ac' if you want to change it or regenerate `configure' using
37
+ a newer version of `autoconf'.
38
+
39
+ The simplest way to compile this package is:
40
+
41
+ 1. `cd' to the directory containing the package's source code and type
42
+ `./configure' to configure the package for your system. If you're
43
+ using `csh' on an old version of System V, you might need to type
44
+ `sh ./configure' instead to prevent `csh' from trying to execute
45
+ `configure' itself.
46
+
47
+ Running `configure' takes awhile. While running, it prints some
48
+ messages telling which features it is checking for.
49
+
50
+ 2. Type `make' to compile the package.
51
+
52
+ 3. Optionally, type `make check' to run any self-tests that come with
53
+ the package.
54
+
55
+ 4. Type `make install' to install the programs and any data files and
56
+ documentation.
57
+
58
+ 5. You can remove the program binaries and object files from the
59
+ source code directory by typing `make clean'. To also remove the
60
+ files that `configure' created (so you can compile the package for
61
+ a different kind of computer), type `make distclean'. There is
62
+ also a `make maintainer-clean' target, but that is intended mainly
63
+ for the package's developers. If you use it, you may have to get
64
+ all sorts of other programs in order to regenerate files that came
65
+ with the distribution.
66
+
67
+ Compilers and Options
68
+ =====================
69
+
70
+ Some systems require unusual options for compilation or linking that
71
+ the `configure' script does not know about. Run `./configure --help'
72
+ for details on some of the pertinent environment variables.
73
+
74
+ You can give `configure' initial values for configuration parameters
75
+ by setting variables in the command line or in the environment. Here
76
+ is an example:
77
+
78
+ ./configure CC=c89 CFLAGS=-O2 LIBS=-lposix
79
+
80
+ *Note Defining Variables::, for more details.
81
+
82
+ Compiling For Multiple Architectures
83
+ ====================================
84
+
85
+ You can compile the package for more than one kind of computer at the
86
+ same time, by placing the object files for each architecture in their
87
+ own directory. To do this, you must use a version of `make' that
88
+ supports the `VPATH' variable, such as GNU `make'. `cd' to the
89
+ directory where you want the object files and executables to go and run
90
+ the `configure' script. `configure' automatically checks for the
91
+ source code in the directory that `configure' is in and in `..'.
92
+
93
+ If you have to use a `make' that does not support the `VPATH'
94
+ variable, you have to compile the package for one architecture at a
95
+ time in the source code directory. After you have installed the
96
+ package for one architecture, use `make distclean' before reconfiguring
97
+ for another architecture.
98
+
99
+ Installation Names
100
+ ==================
101
+
102
+ By default, `make install' will install the package's files in
103
+ `/usr/local/bin', `/usr/local/man', etc. You can specify an
104
+ installation prefix other than `/usr/local' by giving `configure' the
105
+ option `--prefix=PATH'.
106
+
107
+ You can specify separate installation prefixes for
108
+ architecture-specific files and architecture-independent files. If you
109
+ give `configure' the option `--exec-prefix=PATH', the package will use
110
+ PATH as the prefix for installing programs and libraries.
111
+ Documentation and other data files will still use the regular prefix.
112
+
113
+ In addition, if you use an unusual directory layout you can give
114
+ options like `--bindir=PATH' to specify different values for particular
115
+ kinds of files. Run `configure --help' for a list of the directories
116
+ you can set and what kinds of files go in them.
117
+
118
+ If the package supports it, you can cause programs to be installed
119
+ with an extra prefix or suffix on their names by giving `configure' the
120
+ option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
121
+
122
+ Optional Features
123
+ =================
124
+
125
+ Some packages pay attention to `--enable-FEATURE' options to
126
+ `configure', where FEATURE indicates an optional part of the package.
127
+ They may also pay attention to `--with-PACKAGE' options, where PACKAGE
128
+ is something like `gnu-as' or `x' (for the X Window System). The
129
+ `README' should mention any `--enable-' and `--with-' options that the
130
+ package recognizes.
131
+
132
+ For packages that use the X Window System, `configure' can usually
133
+ find the X include and library files automatically, but if it doesn't,
134
+ you can use the `configure' options `--x-includes=DIR' and
135
+ `--x-libraries=DIR' to specify their locations.
136
+
137
+ Specifying the System Type
138
+ ==========================
139
+
140
+ There may be some features `configure' cannot figure out
141
+ automatically, but needs to determine by the type of machine the package
142
+ will run on. Usually, assuming the package is built to be run on the
143
+ _same_ architectures, `configure' can figure that out, but if it prints
144
+ a message saying it cannot guess the machine type, give it the
145
+ `--build=TYPE' option. TYPE can either be a short name for the system
146
+ type, such as `sun4', or a canonical name which has the form:
147
+
148
+ CPU-COMPANY-SYSTEM
149
+
150
+ where SYSTEM can have one of these forms:
151
+
152
+ OS KERNEL-OS
153
+
154
+ See the file `config.sub' for the possible values of each field. If
155
+ `config.sub' isn't included in this package, then this package doesn't
156
+ need to know the machine type.
157
+
158
+ If you are _building_ compiler tools for cross-compiling, you should
159
+ use the `--target=TYPE' option to select the type of system they will
160
+ produce code for.
161
+
162
+ If you want to _use_ a cross compiler, that generates code for a
163
+ platform different from the build platform, you should specify the
164
+ "host" platform (i.e., that on which the generated programs will
165
+ eventually be run) with `--host=TYPE'.
166
+
167
+ Sharing Defaults
168
+ ================
169
+
170
+ If you want to set default values for `configure' scripts to share,
171
+ you can create a site shell script called `config.site' that gives
172
+ default values for variables like `CC', `cache_file', and `prefix'.
173
+ `configure' looks for `PREFIX/share/config.site' if it exists, then
174
+ `PREFIX/etc/config.site' if it exists. Or, you can set the
175
+ `CONFIG_SITE' environment variable to the location of the site script.
176
+ A warning: not all `configure' scripts look for a site script.
177
+
178
+ Defining Variables
179
+ ==================
180
+
181
+ Variables not defined in a site shell script can be set in the
182
+ environment passed to `configure'. However, some packages may run
183
+ configure again during the build, and the customized values of these
184
+ variables may be lost. In order to avoid this problem, you should set
185
+ them in the `configure' command line, using `VAR=value'. For example:
186
+
187
+ ./configure CC=/usr/local2/bin/gcc
188
+
189
+ will cause the specified gcc to be used as the C compiler (unless it is
190
+ overridden in the site shell script).
191
+
192
+ `configure' Invocation
193
+ ======================
194
+
195
+ `configure' recognizes the following options to control how it
196
+ operates.
197
+
198
+ `--help'
199
+ `-h'
200
+ Print a summary of the options to `configure', and exit.
201
+
202
+ `--version'
203
+ `-V'
204
+ Print the version of Autoconf used to generate the `configure'
205
+ script, and exit.
206
+
207
+ `--cache-file=FILE'
208
+ Enable the cache: use and save the results of the tests in FILE,
209
+ traditionally `config.cache'. FILE defaults to `/dev/null' to
210
+ disable caching.
211
+
212
+ `--config-cache'
213
+ `-C'
214
+ Alias for `--cache-file=config.cache'.
215
+
216
+ `--quiet'
217
+ `--silent'
218
+ `-q'
219
+ Do not print messages saying which checks are being made. To
220
+ suppress all normal output, redirect it to `/dev/null' (any error
221
+ messages will still be shown).
222
+
223
+ `--srcdir=DIR'
224
+ Look for the package's source code in directory DIR. Usually
225
+ `configure' can determine that directory automatically.
226
+
227
+ `configure' also accepts some other, not widely useful, options. Run
228
+ `configure --help' for more details.
229
+
@@ -0,0 +1,43 @@
1
+ AM_CFLAGS = -Wall -std=gnu99 -D_GNU_SOURCE -D_REENTRANT
2
+
3
+ EXTRA_DIST = doc
4
+
5
+ lib_LTLIBRARIES = libjson.la
6
+
7
+ pkgconfigdir = $(libdir)/pkgconfig
8
+ pkgconfig_DATA = json.pc
9
+
10
+ libjsonincludedir = $(includedir)/json
11
+ libjsoninclude_HEADERS = \
12
+ json.h \
13
+ bits.h \
14
+ debug.h \
15
+ linkhash.h \
16
+ arraylist.h \
17
+ printbuf.h \
18
+ json_util.h \
19
+ json_object.h \
20
+ json_object_private.h \
21
+ json_tokener.h
22
+
23
+ libjson_la_LDFLAGS = -version-info 0:1:0
24
+
25
+ libjson_la_SOURCES = \
26
+ arraylist.c \
27
+ debug.c \
28
+ json_object.c \
29
+ json_tokener.c \
30
+ json_util.c \
31
+ linkhash.c \
32
+ printbuf.c
33
+
34
+ check_PROGRAMS = test1 test2 test3
35
+
36
+ test1_SOURCES = test1.c
37
+ test1_LDADD = $(lib_LTLIBRARIES)
38
+
39
+ test2_SOURCES = test2.c
40
+ test2_LDADD = $(lib_LTLIBRARIES)
41
+
42
+ test3_SOURCES = test3.c
43
+ test3_LDADD = $(lib_LTLIBRARIES)