fizx-ordered_json 0.3.1 → 0.3.2
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +29 -0
- data/CHANGELOG +22 -0
- data/README +4 -0
- data/Rakefile +35 -0
- data/ext/Makefile +149 -0
- data/ext/json-c-0.8/AUTHORS +2 -0
- data/ext/json-c-0.8/COPYING +19 -0
- data/ext/json-c-0.8/ChangeLog +73 -0
- data/ext/json-c-0.8/INSTALL +229 -0
- data/ext/json-c-0.8/Makefile.am +43 -0
- data/ext/json-c-0.8/Makefile.in +734 -0
- data/ext/json-c-0.8/NEWS +1 -0
- data/ext/json-c-0.8/README +20 -0
- data/ext/json-c-0.8/aclocal.m4 +8794 -0
- data/ext/json-c-0.8/arraylist.c +93 -0
- data/ext/json-c-0.8/arraylist.h +45 -0
- data/ext/json-c-0.8/bits.h +27 -0
- data/ext/json-c-0.8/config.guess +1526 -0
- data/ext/json-c-0.8/config.h.in +121 -0
- data/ext/json-c-0.8/config.sub +1658 -0
- data/ext/json-c-0.8/configure +14243 -0
- data/ext/json-c-0.8/configure.in +33 -0
- data/ext/json-c-0.8/debug.c +98 -0
- data/ext/json-c-0.8/debug.h +42 -0
- data/ext/json-c-0.8/depcomp +530 -0
- data/ext/json-c-0.8/doc/html/annotated.html +40 -0
- data/ext/json-c-0.8/doc/html/arraylist_8h.html +234 -0
- data/ext/json-c-0.8/doc/html/bits_8h.html +144 -0
- data/ext/json-c-0.8/doc/html/config_8h.html +606 -0
- data/ext/json-c-0.8/doc/html/debug_8h.html +386 -0
- data/ext/json-c-0.8/doc/html/doxygen.css +473 -0
- data/ext/json-c-0.8/doc/html/doxygen.png +0 -0
- data/ext/json-c-0.8/doc/html/files.html +42 -0
- data/ext/json-c-0.8/doc/html/functions.html +206 -0
- data/ext/json-c-0.8/doc/html/functions_vars.html +206 -0
- data/ext/json-c-0.8/doc/html/globals.html +445 -0
- data/ext/json-c-0.8/doc/html/globals_defs.html +200 -0
- data/ext/json-c-0.8/doc/html/globals_enum.html +50 -0
- data/ext/json-c-0.8/doc/html/globals_eval.html +135 -0
- data/ext/json-c-0.8/doc/html/globals_func.html +194 -0
- data/ext/json-c-0.8/doc/html/globals_type.html +58 -0
- data/ext/json-c-0.8/doc/html/globals_vars.html +50 -0
- data/ext/json-c-0.8/doc/html/index.html +25 -0
- data/ext/json-c-0.8/doc/html/json_8h.html +26 -0
- data/ext/json-c-0.8/doc/html/json__object_8h.html +1042 -0
- data/ext/json-c-0.8/doc/html/json__object__private_8h.html +69 -0
- data/ext/json-c-0.8/doc/html/json__tokener_8h.html +360 -0
- data/ext/json-c-0.8/doc/html/json__util_8h.html +100 -0
- data/ext/json-c-0.8/doc/html/linkhash_8h.html +734 -0
- data/ext/json-c-0.8/doc/html/printbuf_8h.html +171 -0
- data/ext/json-c-0.8/doc/html/structarray__list.html +104 -0
- data/ext/json-c-0.8/doc/html/structjson__object.html +141 -0
- data/ext/json-c-0.8/doc/html/structjson__object__iter.html +87 -0
- data/ext/json-c-0.8/doc/html/structjson__tokener.html +206 -0
- data/ext/json-c-0.8/doc/html/structjson__tokener__srec.html +104 -0
- data/ext/json-c-0.8/doc/html/structlh__entry.html +105 -0
- data/ext/json-c-0.8/doc/html/structlh__table.html +275 -0
- data/ext/json-c-0.8/doc/html/structprintbuf.html +87 -0
- data/ext/json-c-0.8/doc/html/tab_b.gif +0 -0
- data/ext/json-c-0.8/doc/html/tab_l.gif +0 -0
- data/ext/json-c-0.8/doc/html/tab_r.gif +0 -0
- data/ext/json-c-0.8/doc/html/tabs.css +102 -0
- data/ext/json-c-0.8/doc/html/unionjson__object_1_1data.html +140 -0
- data/ext/json-c-0.8/install-sh +519 -0
- data/ext/json-c-0.8/json.h +31 -0
- data/ext/json-c-0.8/json.pc.in +11 -0
- data/ext/json-c-0.8/json_object.c +511 -0
- data/ext/json-c-0.8/json_object.h +310 -0
- data/ext/json-c-0.8/json_object_private.h +44 -0
- data/ext/json-c-0.8/json_tokener.c +517 -0
- data/ext/json-c-0.8/json_tokener.h +90 -0
- data/ext/json-c-0.8/json_util.c +122 -0
- data/ext/json-c-0.8/json_util.h +23 -0
- data/ext/json-c-0.8/linkhash.c +218 -0
- data/ext/json-c-0.8/linkhash.h +264 -0
- data/ext/json-c-0.8/ltmain.sh +7880 -0
- data/ext/json-c-0.8/missing +360 -0
- data/ext/json-c-0.8/printbuf.c +145 -0
- data/ext/json-c-0.8/printbuf.h +38 -0
- data/ext/json-c-0.8/test1.c +164 -0
- data/ext/json-c-0.8/test2.c +20 -0
- data/ext/json-c-0.8/test3.c +22 -0
- data/ext/ordered_json_c.c +199 -0
- data/lib/ordered_json.rb +26 -0
- data/ordered_json.gemspec +102 -0
- data/test/crashing_example.rb +1 -0
- data/test/ordered_json_test.rb +86 -0
- data/test/pretty.json +11 -0
- 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
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,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)
|