Skip to content
Find file
Fetching contributors…
Cannot retrieve contributors at this time
138 lines (88 sloc) 4.39 KB
This is version 2.5.0 of the JX distribution.
Changes from previous versions are described in the *LibVersion.h files in
the include file directories.
John Lindal
http://www.newplanetsoftware.com/
Changes to the build system:
2.5.0:
Added cygwin32 build target.
Added Visual C++ workspace and project files for libjcore
Merged libjtree and libjtoolbar into libjcore and libjx.
Fixed build system so finished binaries are copied instead of moved.
This saves time if build is run multiple times, e.g., during debugging.
Collapsed J_HAS_GIF and J_HAS_PNG into single J_HAS_GD build flag.
2.1.0:
In order to be compatible with the binaries for Code Crusader, Code
Medic, etc., LD_LIBRARY_PATH must not include JX-2.1.0/lib. The -R
link option is now used instead.
ACE_ROOT no longer needs to be defined.
2.0.0:
All Make.headers should stop defining TOUCHHEADERS. All programs
should define touch as a double colon target to run maketouch for the
libraries on which they depend.
Defined J_STD_LIBS to include libjtoolbar, libjtree, libjx, libjcore,
and ${J_SYS_LIBS}. These are the libraries that all programs need.
All Make.headers should remove ${ACE_ROOT}, ${J_X11_INCLUDE_DIR}, and
${JX_ROOT}/include/menu_image from SEARCHDIRS because jx_config
automatically appends them. As a result of this change, SEARCHDIRS can
now be defined with :=.
Renamed include/menu_image to include/image and libjx/menu_image to
libjx/image.
Each file include/make/*_constants must use += to add the library's
string data files to J_STRING_FILES so applications can compile all the
required strings into one database file.
jxlayout now uses a more convenient method of specifying sizing
options. Use the convert_gravity script to convert your existing .fd
files.
jxlayout generates a database of all the strings used by each layout
and generates code that uses JStringManager.
If a target ends with .so, makemake automatically includes the link option
required to produce a shared library. ${J_SHARED_LIB_LINK_OPTION} should
no longer be included in LDFLAGS in library Make.header files.
Renamed libjparser to libjexpr.
1.5.1:
All programs must check the value of J_WANT_INSTALL. If it is not
zero, they should install themselves into J_INSTALL_ROOT. The reason
for the double negative is that this allows the default action to be to
install the programs.
All programs and libraries must define SEARCHDIRS with = not := so that
J_X11_INCLUDE_DIR will work.
Fixed ACE build system to never build with threads because ome
functions (e.g. tmpnam()) don't work the normal way on some systems
(e.g. HP-UX 11) when threads are used.
1.5.0:
Long overdue change in minor version number.
Moved jxuninstall target into include/make/default_lib_target so
Make.header for libraries no longer needs to define it.
Added J_STRIP_DEBUG because Solaris strip uses -x instead of -g.
1.1.23:
Added J_SHARED_LIB_LINK_OPTION because Solaris ld 3.0 uses -G instead
of the defacto -shared. All library Make.header files must switch to
using this variable in LDFLAGS.
Added J_X11_INCLUDE_DIR because some people are cursed with
non-standard X installations. All Make.header files must include
${J_X11_INCLUDE_DIR} (*not* -I${J_X11_INCLUDE_DIR}) at the end of
SEARCHDIRS.
Added Make.files_template and Make.header_template in doc directory.
These show the minimal requirements for writing a JX program.
1.1.21:
Works with egcs! Factory methods are used to call the offending code
after the constructor has finished. The constructor is protected to
force you to call the factory methods instead.
If J_BUILD_SHARED_LIB is defined, programs should depend on .so
versions of libraries instead of .a versions.
Created include/make/default_lib_target to hide J_BUILD_SHARED_LIB and
J_NEED_SEPARATE_O_FILES.
1.1.20.1:
Added J_NEED_SEPARATE_O_FILES. If this is and J_BUILD_SHARED_LIB are
both defined, libraries should only build the .so version.
1.1.20:
Fixed configuration so the standard ACE distribution works again.
If make is run as root, libraries and binaries are automatically
installed in system directories. (3rd party libraries need to add code
to their default build target and also add a new target jxuninstall.)
1.1.19:
For each *_VERSION constant, created new *_LIB_VERSION constant. This
defines the library version used in file names.
Merged libjxparser into libjparser.
Merged libjx3d into libj3d.
Something went wrong with that request. Please try again.