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.
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)