Thu Aug 20 11:41:48 1998 Adam Fedor * openapp.in, debugapp.in: Set LIBRARY_COMBO only if not set. * brain.make: Likewise for library_combo. * GNUstep.csh: Add braces around some variables (Changes from Christopher Seawood ). * ld_lib_path.sh,ld_lib_path.csh: Check if variables set before changing. * whichlib.c: Fixup dirent includes. Wed Aug 12 15:25:00 1998 Richard Frith-Macdonald * openapp.in: export LIBRARY_COMBO. Tue Aug 4 16:43:55 1998 Adam Fedor * application.make: Correct resource installation when RESOURCE_FILES not defined. * bunlde.make: Likewise. Tue Aug 4 12:50:00 1998 Richard Frith-Macdonald * brain.make: use -ldps even with xraw library. Tues Aug 4 1998 Felipe A. Rodriguez * test-application.make set $(TEST_APP_NAME) to be a double colon target. Sat Jul 31 21:20:00 1998 Richard Frith-Macdonald *common.make: Modified to set LDFLAGS to use '-pg' when compiling with 'profile=yes' and LD == CC Fri Jul 31 15:08:25 1998 Richard Frith-Macdonald *brain.make: Fixed to use the command-line specification of 'library_combo' (if given) rather than the default library combo. Mon Jul 20 10:38:25 1998 Adam Fedor * application.make (app-resource-files): Use For loop to copy files. * bundle.make (app-resource-files): Likewise. Fri Jul 10 21:46:19 1998 Adam Fedor * target.make (HP_UX SHARED_LINK): Fix up including *.o files. Wed Jun 17 10:00:20 1998 Adam Fedor * brain.make: Add xraw library combo option * library.make: Add --no-keep-going MAKE option. * tool.make: Likewise. Fri Jun 12 22:15:00 1998 Richard Frith-Macdonald * which_lib.c Fixed generation of library suffix and logic for shared libraries to get debug-profiled libraries chosen correctly. Fri May 29 13:31:36 1998 Adam Fedor * common.make (ADDITIONAL_FLAGS): Add -DDEBUG for debug=yes. * target.make (HP-UX SHARED_LINK): Add */*.o files. Tue Apr 14 22:45:38 1998 Ovidiu Predescu * test-tool.make (internal-testtool-check): New target. Wed Apr 1 19:37:26 1998 Ovidiu Predescu * bundle.make (xxx_PRINCIPAL_CLASS): New variable to support specifying the principal class of a bundle. * rules.make: Pass PRINCIPAL_CLASS down in the recursive make. * test-tool.make (internal-testtool-install): New empty rule. Wed Mar 11 23:28:11 1998 Ovidiu Predescu * brain.make: New makefile variable 'gc' used to specify the Boehm's garbage collector (currently works only with libFoundation). * Added emacs variables at the end of makefile fragments. * Added the missing /bin/sh line in the shell scripts (bug report from Helge Hess ). Wed Mar 4 22:48:04 1998 Ovidiu Predescu * tool.make: Don't pass LIBFOUNDATION_GC_LIBRARY when linking the program. * test-library.make: Likewise. * brain.make (OBJC_LIBS): If working with libFoundation compiled with Boehm's garbage collector support, use a special Objective-C runtime library (libobjc_gc) and link against the gc library. Fri May 15 12:00:27 1998 Adam Fedor * application.make (APP_RESOURCE_DIRS): New variable. (app-resource-dir): New target. (app-resource-files): Include full RESOURCE_FILES path in cp to-file. Wed May 13 16:00:37 1998 Adam Fedor * GNUmakefile.in: Create GNUSTEP_LIB_COMBO directory. * brain.make (GUI_LIBS): Include -lgnustep-gui twice. * target.make (OPENSTEP 4.X): Fix libtool flags. * tool.make (TOOL_INSTALLATION_DIR): Conditionally set this. Sun Apr 5 20:06:03 1998 Scott Christley * documentation.make: Have html rule be based upon the table of contents file. Sun Apr 5 19:07:54 1998 Scott Christley * GNUmakefile.in: install/uninstall new files; create full target subdirectories. * GNUstep.sh.in: Add shell magic name. * MediaBook.sh: Likewise. * clean_cpu.sh: Likewise. * clean_os.sh: Likewise. * clean_vendor.sh: Likewise. * Add csh support. * GNUstep.csh.in: New file. * ld_lib_path.csh: New file. * configure.in: Add GNUstep.csh.in to output files * configure: Regenerate. * Add documentation support. * documentation.make: New file. * common.make: Define documentation variables. * rules.make: Pass documentation variables to sub-makes. Tue Mar 24 15:54:55 1998 Adam Fedor * bundle.make (BUNDLE_RESOURCE_DIRS): Make all dirs a subdirectory of Resources. (bundle-resource-files): Include full RESOURCE_FILES path in cp to-file. * target.make: Add specifications for HP-UX. Sat Feb 14 16:32:14 1998 Scott Christley * tool.make (TOOL_INSTALLATION_DIR): Move definition outside of if clause so that it is always defined. 1998-02-09 Ovidiu Predescu * common.make (GNUSTEP_MAKEFILES): Moved the definition to the top of the file because it is needed to include several files. Mon Feb 9 00:23:33 1998 Ovidiu Predescu * brain.make: Added the initial support for the integration of Boehm's garbage collector into libFoundation. Include libFoundation.make in case it's present and add the Boehm's GC library to the list of Foundation libraries. * library.make (internal-library-uninstall): Added the before-uninstall and after-uninstall. * test-library.make: Added LIBFOUNDATION_GC_LIBRARY to the list of files used when linking. * tool.make: Likewise. * which_lib.c: Collect the rest of flags and output them at the end. We should change this mechanism to keep the order in which the flags appear on the command line. Fri Feb 6 12:25:51 1998 Adam Fedor * common.make (GNUSTEP_MAKEFILES): Set only if not already set. * *.make: Use GNUSTEP_MAKEFILES in place of $(GNUSTEP_SYSTEM_ROOT)/Makefiles. 1998-02-05 Ovidiu Predescu * brain.make (GUI_LIBS): Changed the order of the gui and gmodel libraries. * library.make (internal-library-all): Added before-all and after-all in the list of dependencies. The same thing should be added in the other makefile fragments, maybe using a more general way. * rules.make (internal-clean): Remove directories that have been changed too. * tool.make (internal-tool-install): Add internal-tool-all to the list of dependencies. Wed Feb 4 09:01:16 1998 Adam Fedor * target.make: Add TARGET_SYSTEM_LIBS for irix OS. Tue Feb 3 22:47:38 1998 Ovidiu Predescu * brain.make: Include libFoundation.make which is now installed by libFoundation to support Boehm's garbage collector. * target.make (OPENSTEP): Add LIBRARIES_FOUNDATION_DEPEND_UPON to the list of libraries to link against when building a shared library. Sun Feb 1 04:05:07 1998 Ovidiu Predescu * test-library.make: Force the creation of unix.exp file. Fri Jan 30 14:14:40 1998 Ovidiu Predescu * application.make: Create the Resources/Info-gnustep.plist to keep information about the application resources. Copy the resource file in the Resources directory. (internal-app-install): Remove first the target. * brain.make: Add to GUI_LIBS the extensions library. * bundle.make: Add support for building the bundle wrapper. Create the Info-gnustep.plist file automatically to keep information about the main bundle class and executable. New target for uninstalling a bundle. * library.make (internal-uninstall-headers): Change to support empty HEADER_FILES variables. * rules.make (%.build): Pass in the BUNDLE_LIBS variable the global libraries beside those required by a given bundle. Also pass the bundle's installation directory. * bundle.make (Solaris/BUNDLE_LDFLAGS): Revert the changes made by Adam to support bundles with 2.7.2.1; these changes also work with 2.8. Tue Jan 27 15:38:12 1998 Adam Fedor * target.make (Solaris/BUNDLE_LDFLAGS): New flags for gcc2.8.0 Sun Jan 11 13:00:46 1998 Scott Christley * GNUmakefile.preamble: Add additional flags. * MediaBook.func (c): Display library combo setting and move display of the CVS root. * application.make: Correct comment. * config.make.in (X_INCLUDE, X_LIBS): Define to be empty if not using the X Window System. * rules.make (%.build): Pass additional flags. * target.make (nextstep4): Use ALL_LIB_DIRS instead of specifying the individual user, local, and system dirs. (nextstep3): Add system specific settings for NEXTSTEP 3.x Fri Jan 9 12:16:19 1998 Ovidiu Predescu * aggregate.make: Run the recursive make using the makefile specified in the MAKEFILE_NAME variable. * bundle.make: Likewise. * library.make: Likewise. * objc.make: Likewise. * rules.make: Likewise. * test-application.make: Likewise. * test-library.make: Likewise. * test-tool.make: Likewise. * tool.make: Likewise. * application.make: Likewise. Copy the resource files into the Resources directory inside the app wrapper. Added rule to generate the Info-gnustep.plist file. * brain.make: Add the gmodel library to the list of GUI libraries. * common.make: Define the default value of MAKEFILE_NAME to be GNUmakefile. * target.make: Added flag to libtool so that we don't treat undefined symbols as errors when building a shared library under OPENSTEP. Tue Jan 6 11:06:27 1998 Ovidiu Predescu * target.make (target OPENSTEP): Added -undefined warning to the libtool command line to make possible the creation of shared libraries that include symbols defined in the startup object files. Wed Dec 17 10:40:02 1997 Ovidiu Predescu * ld_lib_path.sh: Don't treat Solaris' LD_LIBRARY_PATH different (patch from Matthias Klose ). Fri Nov 28 10:47:11 1997 Scott Christley * common.make (GNUSTEP_INSTALLATION_DIR): If the default GNUSTEP_LOCAL_ROOT is empty then use GNUSTEP_SYSTEM_ROOT. (GNUSTEP_LOCAL_HEADERS_FLAG, GNUSTEP_USER_HEADERS_FLAG): New variable. (GNUSTEP_LOCAL_TARGET_LIBRARIES_FLAG): New variable. (GNUSTEP_LOCAL_LIBRARIES_FLAG): New variable. (GNUSTEP_USER_TARGET_LIBRARIES_FLAG): New variable. (GNUSTEP_USER_LIBRARIES_FLAG): New variable. In places where GNUSTEP_LOCAL_ROOT and GNUSTEP_USER_ROOT are used, check to see if they are not blank before using them. (GNUSTEP_FND_DIR): Change to just gnustep. * objc.make (OBJC_PROGRAM_INSTALLATION_DIR): Add the target subdirectory path. (objc-program): Change to objc_program for target names. * rules.make (ALL_OBJCFLAGS, ALL_CFLAGS): Use flag variables for local and user header directories in case they are blank. (ALL_LIB_DIRS, LIB_DIRS_NO_SYSTEM): Likewise. Wed Nov 19 13:07:37 1997 Scott Christley * COPYING: New file. * config.site: Escape $ characters. Wed Nov 19 10:58:28 1997 Ovidiu Predescu * debugapp.in: Changed library_combo variable to LIBRARY_COMBO. * tool.make: When installing take the tool from GNUSTEP_OBJ_DIR. Mon Nov 17 13:05:44 1997 Ovidiu Predescu * application.make: Output the file containing the paths for the dynamic linker for each library combo instead of a global file for all the combinations. * openapp.in: Support the above change. * debugapp.in: Likewise. * rules.m (ALL_OBJCFLAGS, ALL_CFLAGS): Remove unnecessary -I. Fri Nov 14 12:51:16 1997 Scott Christley * test-application.make: New file. * test-tool.make: New file. * GNUmakefile.in: Install new files. * aggregate.make: Prevent multiple inclusions. * application.make: Likewise. * bundle.make: Likewise. * library.make: Likewise. * objc.make: Likewise. * rules.make: Likewise. * test-library.make: Likewise. * tool.make: Likewise. Fri Nov 14 09:53:50 1997 Ovidiu Predescu * brain.make: Added defines for the GUI and backend libraries. * configure.in: Set the executable flag for openapp and debugapp. * openapp.in: Added support for target abbreviations. * debugapp.in: Likewise. * rules.make: Removed the debugging comments. Fri Nov 14 09:31:47 1997 Scott Christley * config.make.in (library_combo): Rename to default_library_combo. * brain.make: Use the default library combo as an initial setting. Thu Nov 13 15:08:13 1997 Scott Christley * rules.make: Replace dash with underscore for type not target. * openapp.in: Determine host information if necessary. * debugapp.in: Determine host information if necessary. * MediaBook.sh: Save original variables. * config.site (bindirtop): Define. * MediaBook.func (hostinfo, assignpaths): New functions. (librarycombo, systemroot, localroot, userroot): New functions. * GNUmakefile.in (GNUSTEP_INSTALLATION_DIR): Define. Thu Nov 13 11:35:31 1997 Scott Christley * GNUstep.sh.in: Add user and local to PATH. Make user root be GNUstep directory in home directory. * GNUmakefile.in (uninstall): Only uninstall files that we have installed. Thu Nov 13 09:27:33 1997 Ovidiu Predescu * test.make: Renamed to test-library.make. Wed Nov 12 19:12:20 1997 Ovidiu Predescu * bundle.make: Changed to work with the new rules.make rules. * library.make: Make the install target depend on all. * test.make: Reworked for the new rules.make. * rules.make: Removed the definitions needed by test.make. Wed Nov 12 13:29:24 1997 Ovidiu Predescu * common.make (OBJCFLAGS): Removed the -Wno-implicit flag since it could hide some programming errors. Tue Nov 11 14:43:56 1997 Adam Fedor * target.make (Solaris/BUNDLE_LDFLAGS): Change the flags. Fri Nov 7 16:33:22 1997 Ovidiu Predescu Reworked a bunch of files to be more general and faster. * clean.make: File removed. * GNUmakefile.in: Removed the clean.make. * rules.make: Reworked to be simpler and faster. * library.make: Reworked for the new rules.make. * names.make: Likewise. * objc.make: Likewise. * tool.make: Likewise. * application.make: Likewise. Wrote the install target support. * config.make.in: New definition for TAR. * test.make (testbundle-resource-files): Added __done at the end of the for list command so the shell doesn't crash if the list is empty. * brain.make: Small changes on the OPENSTEP support. * target.make: Added LIBRARIES_DEPEND_UPON to the list of libraries for OPENSTEP. Sat Nov 1 13:17:07 1997 Scott Christley * brain.make: Export LIBRARY_COMBO. * common.make: Target and GUI header include flags should contain user, local, and system roots. Rename GNUSTEP_TARGET_HEADERS to GNUSTEP_HEADERS_TARGET_FLAG. * rules.make: Rename GNUSTEP_TARGET_HEADERS to GNUSTEP_HEADERS_TARGET_FLAG. Add AUXILIARY macros for auxiliary libraries to add flags (e.g. gnustep-db). * test.make: Put additional_library_paths outside of for loop. Thu Oct 31 11:30:00 1997 Richard Frith-Macdonald * which_lib.c: Modified for systems where realloc() doesn't handle nul pointers correctly. * target.make: Fixed for creation/installation of static libraries now that they don't have version numbers again. Thu Oct 30 17:22:13 1997 Ovidiu Predescu * rules.make: Don't use an additional variable for specifying the dynamic linker paths, use the normal linker paths. * test.make: Likewise. Correctly process the additional library paths so it contains only absolute paths. Thu Oct 30 15:49:53 1997 Scott Christley * rules.make: Fix variables when building test applications. * test.make: Fix rules for building test applications. Thu Oct 30 13:23:31 1997 Scott Christley * objc.make: New file. * GNUmakefile.in: Install new file. Add targets to regenerate automatically generated files. * aggregate.make: Have make stop when error occurs. * bundle.make: Elminate stamp files. * config.make.in: Save any LIBS specified by user. * configure.in: Correct default library combo. * configure: Regenerate for configure.in changes. * rules.make: Add ObjC program support. Have make stop when error occurs. Correct variables that are being passed to recursive makes. * target.make: Do not specify the thread library; instead the user should define it when running configure with the LIBS environment variable. * test.make: Eliminate stamp files. Correct bundle rules. Thu Oct 30 09:35:34 1997 Ovidiu Predescu * common.make: Add the cpu/os/runtime include flag only for libFoundation since only it requires this for the exception files. * debugapp.in: Support for GDBbundle under OPENSTEP. * rules.make: Don't show the recursive make command. Wed Oct 29 09:32:26 1997 Ovidiu Predescu * core.make: Renamed to brain.make to avoid removing it accidentally by the configure script. Wed Oct 29 10:02:37 1997 Adam Fedor * GNUstep.sh.in: Use -f to find user's GNUstep.sh. * configure.in (ac_cv_library_combo): Use dashes instead of underlines. * target.make (TARGET_SYSTEM_LIBS): Add -lthread for Solaris. Tue Oct 28 09:32:23 1997 Ovidiu Predescu * common.make: Define the system, local and user headers variables. Also define the compilation flags based upon these variables. * ld_lib_path.sh: Use LIBRARY_COMBO instead of library_combo because the first one is automatically exported by both GNUmake and the shell. No longer use the export_variable to print out the name of the dynamic linker environment variable. * openapp.in: Changed underscores to dashes in the library combo names. * debugapp.in: Likewise. * rules.make: Add search paths for include files to the user, local and system header directories. The same with the libraries. * test.make: Create the unix.exp file to search for the configuration files in all the user, local and system directories. Use ld_library_path.sh to setup the dynamic linker's environment variable since we can't rely on how different paths are separated in this variable. Mon Oct 27 18:01:38 1997 Ovidiu Predescu * Makefile: Renamed to GNUmakefile. * Makefile.preamble: Renamed to GNUmakefile.preamble. * Makefile.postamble: Renamed to GNUmakefile.postamble. Mon Oct 27 17:18:39 1997 Ovidiu Predescu * core.make: Use dashes instead of underscores in the library combo. * DESIGN: Updated. Mon Oct 27 15:46:56 1997 Ovidiu Predescu * library.make: Don't append the version to a static library (bug fix from Gregor Hoffleit ). * core.make: Added support for library_combo abbreviations. Mon Oct 27 14:50:06 1997 Ovidiu Predescu * library.make: Make it recursive so you can build several libraries in the same directory. * common.make: Added GNUSTEP_INSTALLATION_DIR, the directory where all stuff gets installed; by defaults is setup to the local root. Changed all the variables accordingly. Removed definitions of INSTALL programs since they are in config.make. * GNUstep.sh.in: Add the LIBRARY_COMBO variable. Setup the PATH to also point to the tools directory. * rules.make: New implicit rules %.buildlib and %.installlib to support the recursive building of libraries. * tool.make: Install the tools in the proper directory. Fri Oct 24 20:26:41 1997 Ovidiu Predescu Added support for the OPENSTEP Foundation library in the testing related makefiles. * bundle.make: Replace LD with BUNDLE_LD. * common.make: Define a directory for the extensions under OPENSTEP. * core.make: Change the definition of NeXT_foundation_LIBRARY to NeXT_Foundation_LIBRARY. * rules.make (ALL_TEST_LIBRARY_LIBS): Include an additional variable AUXILIARY_LIBS. * target.make: Set HAVE_BUNDLES to yes only for NeXT runtime. Define BUNDLE_LD appropriate for all the targets. * test.make: Use BUNDLE_LD when building a bundle. Define the Foundation and the runtime used when running DejaGnu. Tue Oct 21 17:31:27 1997 Ovidiu Predescu * application.make (app-resource-files): Check to see if the RESOURCE_FILES variable is defined so we don't get sh parse errors. * target.make (OPENSTEP targets): Also search for libraries when building a shared library in ADDITIONAL_LIB_DIRS. Mon Oct 20 08:48:02 1997 Scott Christley * rules.make: (%.tool): Rename to %.buildtool. * tool.make: Eliminate use of stamp file. Mon Oct 20 08:26:01 1997 Scott Christley * debugapp is like openapp except it runs gdb for the app. * debugapp.in: New file. * Makefile.in: Install debugapp. * configure.in (AC_OUTPUT): Add debugapp. * configure: Regenerate for configure.in changes. * application.make: Copy resource files into application. * rules.make (AUXILIARY_TOOL_LIBS, AUXILIARY_GUI_LIBS)): Add new variables which auxiliary library makefile fragments can modify so as to have their libraries linked in. 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.