| 1 | |
|---|
| 2 | This is version 2.5.0 of the JX distribution. |
|---|
| 3 | |
|---|
| 4 | Changes from previous versions are described in the *LibVersion.h files in |
|---|
| 5 | the include file directories. |
|---|
| 6 | |
|---|
| 7 | John Lindal |
|---|
| 8 | http://www.newplanetsoftware.com/ |
|---|
| 9 | |
|---|
| 10 | |
|---|
| 11 | Changes to the build system: |
|---|
| 12 | |
|---|
| 13 | 2.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 | |
|---|
| 26 | 2.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 | |
|---|
| 34 | 2.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 | |
|---|
| 68 | 1.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 | |
|---|
| 82 | 1.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 | |
|---|
| 91 | 1.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 | |
|---|
| 105 | 1.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 | |
|---|
| 117 | 1.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 | |
|---|
| 122 | 1.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 | |
|---|
| 130 | 1.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. |
|---|