Fri Oct 17 14:17:40 1997 Scott Christley * test.make: Add comment about variable. Fri Oct 17 11:32:24 1997 Ovidiu Predescu * application.make: Don't print the commands for building the .iconheader file on OS systems. Thu Oct 16 17:31:43 1997 Scott Christley * names.make: New file. * target.make: Move determination of host and target system to names.make file. * Makefile.in: Install names.make. * common.make: Include names.make and set the host and target directory variables before including config.make. Thu Oct 16 12:04:32 1997 Ovidiu Predescu * common.make: Turn off the optimizations when compiling with debug enabled. Thu Oct 16 11:23:05 1997 Ovidiu Predescu * ld_lib_path.sh: Set IFS to blank and newline to make the for loop run correctly. Remove double quotes around $additional_library_paths in the for loop. * openapp.in: Put double quotes around the cat command when obtaining the value for additional_library_paths. * transform_paths.sh: Search through all the directories in $@, not in "$*". Wed Oct 15 12:14:42 1997 Ovidiu Predescu Better support for building applications. * application.make: Reworked to eliminate the need of timestamp files which cause weird behavior when building. Also it is possible to have different extensions for the application directory based upon the debug and profile variables (.app, .debug and .profile). * rules.make: Changed the name of the implicit rule %.app to %.buildapp to make possible creation of applications with different extensions. * core.make: Removed targets from the OS 4.x specific section. Better support of shared libraries in openapp. * openapp.in: Read in the library_paths.openapp file from the application directory; this file contains additional directories that should be added to the dynamic libraries search paths. * ld_lib_path.sh: Support adding additional library paths from an environment variable. This is set by openapp from a file inside the application. * application.make: Output an additional file in the application directory containing additional library search paths. * common.make: New variable TRANSFORM_PATHS. * library.make: First install the library and then the headers. * rules.make: Change the order of GUI and Foundation LDFLAGS. * openapp.in: Remove the slashed from the end of the application name. * DESIGN: Fixed typos. Document how the application's directory extension is chosen. Tue Oct 14 15:28:52 1997 Ovidiu Predescu * DESIGN: Wrote about the naming conventions for libraries and how they are chosen by the package. * Makefile.preamble: Use += instead of =. * application.make (stamp-app-% rule): Added before-link target to support building of OPENSTEP 4.x applications. (internal-distclean): New target. * common.make: Changed the order in which target.make gets included. More support for building a native OPENSTEP 4.x application added. * core.make: Write the correct linking flags for building an application under OPENSTEP 4.x. Create the .iconheader file automatically. * openapp.in: Check to see if the application really exists before checking for the binary. Correctly check for the binary under OS 4.x. * target.make: On OS 4.x systems with NeXT's Foundation, use the native compiler. If we don't use the native compiler don't pass the GNU ObjC runtime library and libgcc to libtool. * which_lib.c: Correctly skip the libraries with the same suffix. Tue Oct 14 11:26:15 1997 Ovidiu Predescu * openapp.in: Add the possibility of passing arguments to the application. Tue Oct 14 10:03:04 1997 Scott Christley * README: Update installation instructions. * bundle.make (BUNDLE_DIR_NAME): Elminate period. * config.make.in (YACC, BISON, FLEX, LEX): New variables. * which_lib.c (search_for_library_with_type_in_directory): Correct testing of filename so that only legitimate combinations of name suffixes are recognized. Mon Oct 13 16:06:12 1997 Ovidiu Predescu * openapp.in: New file. * GNUstep.sh.in: Added $GNUSTEP_SYSTEM_ROOT/Tools to the PATH. * Makefile.in: Install openapp in $GNUSTEP_SYSTEM_ROOT/Tools. * configure.in: Create openapp. * ld_lib_path.sh: Changed to export the library path for different systems. Mon Oct 13 12:21:59 1997 Ovidiu Predescu * configure.in: Check to see if a DPS directory exists inside the X11 headers tree. Wed Oct 8 11:57:48 1997 Ovidiu Predescu * library.make: Define the `before-install' target to depend on `all'. * rules.make: `install' no longer depends on all. Tue Oct 7 15:59:28 1997 Ovidiu Predescu * common.make: New FOUNDATION_LIBRARY_NAME, FOUNDATION_LIBRARY_DEFINE and RUNTIME_DEFINE make variables. Correctly handle the suffix of a library name (using LIBRARY_NAME_SUFFIX). * library.make: Append to the name of the library the suffix which identifies its type. Output the library in the object files directory. * rules.make: Move INTERNAL_LDFLAGS to the end of ALL_LDFLAGS definition. Removed unnecessary passing of TARGET_LIB_DIR to shell scripts. Process the libraries used to create a test using the which_lib program. New variable SCRIPTS_DIRECTORY which identifies the location of the dejagnu scripts (it can be not defined in which case the current directory is assumed). * target.make: For OS 4.x: don't hard code the location to libobjc and libgcc, pass -L flags to libtool that point to the various GNUstep directories. Define ADDITIONAL_LDFLAGS with a flag to linker that disables warning for common symbols. * test.make: Assume the driver program is located under the object files directory. Create the unix.exp file in the config directory where the test scripts are located. Compressed the internal-check-* targets into a single target. * rules.make: Work with the new internal-check-* targets. * which_lib.c: Fixed a bug when two libraries that have the same prefix were matching. Sun Oct 5 20:30:01 1997 Ovidiu Predescu * common.make: Take the which_lib script from the host_cpu/host_os directory. * target.make: Create the target library to be a link to the versioned one for OS 4.x. Sat Oct 4 23:08:01 1997 Ovidiu Predescu * target.make: Set the extension of shared libraries under OS 4.x to be .a because the compiler/linker does not handle other extensions. * library.make: Output the library in the current directory to be able to solve problems with different library paths under systems with shared libraries. Fri Oct 3 14:48:15 1997 Ovidiu Predescu * Support the host install program if any. * Makefile.in: Added definitions for INSTALL variable. Delete the which_lib program in the clean target. * config.make.in: Define INSTALL to be the value of HOST_INSTALL instead of INSTALL. * configure.in: Check if the INSTALL program is the install-sh script. If so define HOST_INSTALL to be the install script; otherwise it is the host install program. * which_lib.c: Include limits.h. Fri Oct 3 13:43:18 1997 Ovidiu Predescu * Added support for linking with different types of a library, depending on the flags you specify at the make time. * which_lib.c: New file. * config.h.in: New file. * Makefile.in: Added rule to build and install the which_lib program. * common.make: Added definition for WHICH_LIB_SCRIPT. * rules.make: Added rules to process the libraries list and obtain a new one based upon the debug, profile and shared variables. * configure.in: Added checks for various header files needed to compile the which_lib program. * library.make: Added new variable LIBRARY_FILE_EXT. * application.make: Replaced foreach with :.something=.someotherthing. * bundle.make: Likewise. * test.make: Likewise. * tool.make: Likewise. * config.make.in: Changed the hard-coded definition of ld to be $(CC). Added definitions for INSTALL programs. * configure.in: Added check for the INSTALL program. * library.make: New target internal-distclean. * rules.make: internal-distclean does not make first the clean target. * target.make: Shared libraries under OS 4.x have the .so extension. Thu Oct 2 14:56:08 1997 Scott Christley * ld_lib_path.sh: New file. * common.make: Add variables which define explicit paths to the system, local, and user library directories. * rules.make (ALL_LD_LIB_DIRS): Variable which specifies the standard GNUstep and the user's specific directories of where the dynamic loader can find shared libraries. * target.make (LD_LIB_PATH): Call shell script which returns the name of the environment variable used by the dynamic loader. * test.make: Set the dynamic loader environment variable when running tests. * test.make: New file. * rules.make: Add test building and check rules. * Makefile.in: Install test.make. Thu Oct 2 10:21:41 1997 Ovidiu Predescu * common.make.in: Remove the default library combo for OPENSTEP 4.x. * configure.in: Add a default library combo for OS 4.x here. Wed Oct 1 18:04:25 1997 Ovidiu Predescu * configure.in: Added the --with-library-combo to support specifying a default library combination. * core.make: Removed logic that defines a default library combination. * config.make.in: Add little logic for library combo. Wed Oct 1 17:03:56 1997 Ovidiu Predescu * common.make: Added -I compile flag when compiling using gnustep-base and libFoundation to get the files specific for cpu/os/runtime. * core.make: Allow the user to specify a set of variables different than the library combo. This is needed when compiling basic libraries that don't use the whole library combo (like libFoundation). Also define OBJC_RUNTIME that holds the name of the runtime, useful in make, and RUNTIME_DEFINE that defines for the runtime, useful while compiling. The last one should be added to the additional C/ObjC flags. * library.make: Define HEADER_FILES_DIR to be . by default. Changed the rule for building the library to build it into the object files directory. Cleaned the internal-clean rule. * rules.make: Remove newlines in compilation rules. Added the 'all' target in the list of dependencies for install. * target.make: Cleaned the rules for building a shared library under OPENSTEP 4.x. Added flags to linker to disable printing of warnings for read only relocation symbols. Wed Oct 1 11:15:22 1997 Scott Christley * bundle.make: Add install and uninstall targets. Use bundle extension variable. (BUNDLE_LIBS): Libraries to link against when building a bundle. * rules.make (BUNDLE_EXTENSION): Allow the user to specify a different extension for the bundle directory name. Tue Sep 30 14:24:20 1997 Scott Christley * Add bundle support. * bundle.make: Define rules and variables. * rules.make: Add main bundle rule. Surround complete file with if to prevent multiple inclusion. * target.make: Define bundle variables. * application.make: Delete old code. Tue Sep 30 08:27:28 1997 Scott Christley * Makefile.preamble (ADDITIONAL_TOOL_LIBS, ADDITIONAL_GUI_LIBS): Add template variables for additional libraries when linking. * application.make (internal-app-all): Build object directory. * common.make (GNUSTEP_HEADERS_FND): New variable. (GNUSTEP_OBJ_PREFIX): New variable. (GNUSTEP_TARGET_LIBRARIES): New variable. * library.make: Add uninstall targets. * rules.make (ALL_LIB_DIRS): Search GNUSTEP_TARGET_LIBRARIES. * tool.make (internal-clean): Remove object directory. Fri Sep 26 13:16:03 1997 Scott Christley * Makefile.in: Define install script. * application.make: Correct name of stamp file. * common.make: Define install script. * config.make.in: Do not define install script. * configure.in: Do not check for install script. * configure: Regenerate for configure.in changes. * library.make: Use -f instead of -e. * target.make: Customize alpha-linux system libraries. Thu Sep 25 23:31:30 1997 Scott Christley * library.make (internal-install-lib): Install correct file. * common.make (GNUSTEP_TARGET_HEADERS): New variable. * rules.make (ALL_OBJCFLAGS, ALL_CFLAGS): Add target header directory to include directories. Thu Sep 25 20:20:50 1997 Scott Christley * Makefile.in (config.site): Install in share directory not the makefile package directory. Thu Sep 25 18:22:43 1997 Ovidiu Predescu * DESIGN: A word about building different types of a project. Thu Sep 25 17:32:37 1997 Ovidiu Predescu * DESIGN: Updated to contain the latest changes in the package. * Makefile.in: Use a for loop to install the files. * aggregate.make: Commpress all the internal-* targets into a single rule to make the maintanance easier. * rules.make: Add rule for creating the object files directory here instead of having the same rule in several files. * application.make: Remove creation of the object files directory. Just add the dependency to the targets. * tool.make: Likewise. * clean.make: Optimize cannonicalization of host/target cpu/os/vendor by adding a flag that says if they are already cannoical or not. * target.make: Use the variable defined above to speed up the building process. * common.make: Added support for building separate versions of libraries for debugging, profiling and/or static or shared. Use different object file directories instead of using a suffix to the file name. Building a shared library is now the default for systems that support shared libraries. * library.make: Removed the two variables for specifying the shared library and the static one. Added two new target variables which define commands to be run after the installation of either the static or of the shared library. * target.make: Define the two new variables above for the different supported systems. * common.make: Added a partial support for the NeXT compiler. We also need a way to determine what compiler is used, which is simple because our tools only partially work with the NeXT runtime/compiler. * core.make: Support for the NeXT Foundation and AppKit added. * rules.make: Use flags to specify the include paths while compiling to support NeXT frameworks. Cleanup in the shared libraries support. * rules.make: .PRECIOUS target added to disable removing of intermediate files (Scott's idea). Thu Sep 25 11:25:36 1997 Ovidiu Predescu * Makefile.in: Include config.make to get the definition for the INSTALL program. Use INSTALL program instead of cp. * aclocal.m4: Remove unnecessary file. * configure.in: Remove checks for unnecessary X libraries. * application.make: Added newline at the end of file. * library.make: Likewise. * rules.make: Likewise. * tool.make: Likewise. * common.make: Define SHELL to be /bin/sh to avoid possible problems. Wed Sep 24 17:54:41 1997 Scott Christley * target.make: Correct settings for solaris. Wed Sep 24 14:00:03 1997 Scott Christley * Makefile.in: Run scripts in current directory. * config.site: For autoconf packages in the GNUstep directory structure, the headers and libraries must go into the appropriate target subdirectory. Tue Sep 23 15:18:08 1997 Scott Christley * application.make: Utilize object directory. * tool.make (object_dir): Rename to object-dir. * library.make (object_dir): Rename to object-dir. Tue Sep 23 13:48:02 1997 Scott Christley * DESIGN: New file. * README: New file. * common.make: Add variable for the Resources directory. * library.make: Properly install the shared library. * rules.make: Delete temporary files. * target.make: Remove unneeded code. * tool.make: Put the stamps in the object directory. Mon Sep 22 17:57:50 1997 Scott Christley * common.make: Add support for putting object files in a different directory. * tool.make: Likewise. * rules.make: Likewise. * library.make: Add support for shared libraries. * target.make: Likewise. Mon Sep 22 15:12:14 1997 Scott Christley * ChangeLog: New file.