root / JX / trunk / CHANGES

Revision 3, 4.4 kB (checked in by daboo, 2 years ago)

Full commit of JX-2.5.0 code

Line 
1
2This is version 2.5.0 of the JX distribution.
3
4Changes from previous versions are described in the *LibVersion.h files in
5the include file directories.
6
7John Lindal
8http://www.newplanetsoftware.com/
9
10
11Changes to the build system:
12
132.5.0:
14
15        Added cygwin32 build target.
16
17        Added Visual C++ workspace and project files for libjcore
18
19        Merged libjtree and libjtoolbar into libjcore and libjx.
20
21        Fixed build system so finished binaries are copied instead of moved.
22        This saves time if build is run multiple times, e.g., during debugging.
23
24        Collapsed J_HAS_GIF and J_HAS_PNG into single J_HAS_GD build flag.
25
262.1.0:
27
28        In order to be compatible with the binaries for Code Crusader, Code
29        Medic, etc., LD_LIBRARY_PATH must not include JX-2.1.0/lib.  The -R
30        link option is now used instead.
31
32        ACE_ROOT no longer needs to be defined.
33
342.0.0:
35
36        All Make.headers should stop defining TOUCHHEADERS.  All programs
37        should define touch as a double colon target to run maketouch for the
38        libraries on which they depend.
39
40        Defined J_STD_LIBS to include libjtoolbar, libjtree, libjx, libjcore,
41        and ${J_SYS_LIBS}.  These are the libraries that all programs need.
42
43        All Make.headers should remove ${ACE_ROOT}, ${J_X11_INCLUDE_DIR}, and
44        ${JX_ROOT}/include/menu_image from SEARCHDIRS because jx_config
45        automatically appends them.  As a result of this change, SEARCHDIRS can
46        now be defined with :=.
47
48        Renamed include/menu_image to include/image and libjx/menu_image to
49        libjx/image.
50
51        Each file include/make/*_constants must use += to add the library's
52        string data files to J_STRING_FILES so applications can compile all the
53        required strings into one database file.
54
55        jxlayout now uses a more convenient method of specifying sizing
56        options.  Use the convert_gravity script to convert your existing .fd
57        files.
58
59        jxlayout generates a database of all the strings used by each layout
60        and generates code that uses JStringManager.
61
62        If a target ends with .so, makemake automatically includes the link option
63        required to produce a shared library.  ${J_SHARED_LIB_LINK_OPTION} should
64        no longer be included in LDFLAGS in library Make.header files.
65
66        Renamed libjparser to libjexpr.
67
681.5.1:
69
70        All programs must check the value of J_WANT_INSTALL.  If it is not
71        zero, they should install themselves into J_INSTALL_ROOT.  The reason
72        for the double negative is that this allows the default action to be to
73        install the programs.
74
75        All programs and libraries must define SEARCHDIRS with = not := so that
76        J_X11_INCLUDE_DIR will work.
77
78        Fixed ACE build system to never build with threads because ome
79        functions (e.g. tmpnam()) don't work the normal way on some systems
80        (e.g. HP-UX 11) when threads are used.
81
821.5.0:
83
84        Long overdue change in minor version number.
85
86        Moved jxuninstall target into include/make/default_lib_target so
87        Make.header for libraries no longer needs to define it.
88
89        Added J_STRIP_DEBUG because Solaris strip uses -x instead of -g.
90
911.1.23:
92
93        Added J_SHARED_LIB_LINK_OPTION because Solaris ld 3.0 uses -G instead
94        of the defacto -shared.  All library Make.header files must switch to
95        using this variable in LDFLAGS.
96
97        Added J_X11_INCLUDE_DIR because some people are cursed with
98        non-standard X installations.  All Make.header files must include
99        ${J_X11_INCLUDE_DIR} (*not* -I${J_X11_INCLUDE_DIR}) at the end of
100        SEARCHDIRS.
101
102        Added Make.files_template and Make.header_template in doc directory.
103        These show the minimal requirements for writing a JX program.
104
1051.1.21:
106
107        Works with egcs!  Factory methods are used to call the offending code
108        after the constructor has finished.  The constructor is protected to
109        force you to call the factory methods instead.
110
111        If J_BUILD_SHARED_LIB is defined, programs should depend on .so
112        versions of libraries instead of .a versions.
113
114        Created include/make/default_lib_target to hide J_BUILD_SHARED_LIB and
115        J_NEED_SEPARATE_O_FILES.
116
1171.1.20.1:
118
119        Added J_NEED_SEPARATE_O_FILES.  If this is and J_BUILD_SHARED_LIB are
120        both defined, libraries should only build the .so version.
121
1221.1.20:
123
124        Fixed configuration so the standard ACE distribution works again.
125
126        If make is run as root, libraries and binaries are automatically
127        installed in system directories.  (3rd party libraries need to add code
128        to their default build target and also add a new target jxuninstall.)
129
1301.1.19:
131
132        For each *_VERSION constant, created new *_LIB_VERSION constant.  This
133        defines the library version used in file names.
134
135        Merged libjxparser into libjparser.
136        Merged libjx3d into libj3d.
Note: See TracBrowser for help on using the browser.