Release 1.7.0 Copyright ©1994 by Don Yacktman. All Rights Reserved.
Using The MiscKit
Installation |
Basics
It is recommended that you place the MiscKit source in /LocalDeveloper/Source. To install the MiscKit, simply type "make install" at the MiscKit top level. This will build the MiscKit and install it. In order for the installation to proceed correctly, you should be root while installing the MiscKit. Other available Makefile targets are: |
examples: | Builds the example apps; this is not done by the install process. | |
prep: | Tries to install tool.make and arch_tool if you don't have them. | |
lib: | Builds just the MiscKit library. | |
bundles: | Builds the MiscKit bundle projects. | |
palettes: | Builds the MiscKit InterfaceBuilder palettes. | |
debug: | Builds and installs the MiscKit debug libraries. | |
all: | Builds the five targets listed above, without installing them. | |
uninstall: | Removes the MiscKit installation from your system. | |
distclean: | Cleans all the subprojects (examples, bundles, libraries, and palettes) in the MiscKit. | |
help: | Gives a summary of some important Makefile targets. |
These are useful to MiscKit developers who need to recompile the libraries as they work on the kit: |
build_core: | Builds the core libraries only. (ie, not palettes or bundles) | |
install_core: | Installs only the already built core libraries, if any. | |
_install: | Installs an already built kit without re-building everything. | |
build_debug_core: | build_core for the debug libraries. install_core will install whatever libraries have been built, be it debug, profile, and/or optimized. |
Once you build and install the MiscKit, you can delete the source if you wish, since everything you need in order to use
the MiscKit is installed into /LocalDeveloper. You may wish to keep copies of the top-level documentation
(FAQ, Authors, etc.) for your own reference, however.
If you plan to keep the source, you can save about two Megabytes. After the install completes, you can delete the installed documentation and make it a link to the documentation in the MiscKit source distribution. You'll probably want to re-index it for Digital Librarian if you do that. You can also do the same for the Examples folder: delete it and make a link to the Examples folder in the MiscKit source distribution.
The MiscKit by default builds fat, supporting the Intel and Motorola architectures. If you need to build a thin version of the MiscKit or otherwise change the target architectures, you will need to edit the top level Makefile. There are flags for each architecture (MOTOROLA_ARCH, INTEL_ARCH, HP_ARCH, etc.). All you need to do is comment out the architectures you don't want and uncomment the architectures that you do want. The MiscKit has been successfully built on Motorola, Intel, and HP architectures using these directions. Remember that you can only compile for architectures that are supported by your installation of NEXTSTEP Developer. Specifically, if you thin your installation, you cannot built fat object files! Errors messages generated by an improper NS Developer installation can sometimes be misleading, so be forewarned.
The MiscKit is developed to run on the most recent version of NEXTSTEP. It should compile without difficulty on either a 3.1, 3.2, or 3.3 machine. However, there are many things you will have to do to get the MiscKit to build and install on a 3.0 machine. Since Don Yacktman does not have a 3.0 machine anymore--all his machines have been upgraded to 3.2 or 3.3--he cannot test these fixes, and is therefore reluctant to put them in the Makefiles. Note that with the change to ProjectBuilder control you may not be able to build the kit anymore. The old Makefile is left in the Source directory as Makefile.old. You can replace the Makefile there with Makefile.old and cross your fingers that all will work OK or you can try to coerce the 3.0 Makefiles to work. The provided tool.make file needs to be installed as a bare minimum. According to Steve Hayman and Carl Lindberg you need to do at least the following to compile for 3.0: (Note that the most recent kit releases haven't been built under 3.0, so you will likely need to do a lot more than this! If you discover more that needs doing, please let us know so that we can pass it on to others.) |
Using the MiscKit in a project |
OTHER_LDFLAGS = -L/LocalDeveloper/Libraries
OTHER_CFLAGS = -I~/LocalDeveloper/Headers
OTHER_LDFLAGS = -L~/LocalDeveloper/Libraries
Be sure to replace the "~" with the actual path to your home directory since Makefile do not properly evaluate the "~",
which is actually a shell feature and not a standard path specifier.
If you have troubles with some of the macros defined in the <misckit/FREE.h> or <misckit/SELECT.h> headers (they don't have the "MISC" prefix so could possibly clash with your own favorite macros) you can define MISC_SKIP_FREE or MISC_SKIP_SELECT to skip those headers when importing <misckit/MiscBase.h> or <misckit/misckit.h>. Those flags will cause the inclusion of the offending header to be skipped. If you define these flags you won't be able to use the precompiled headers, though, unless you define the flags when precompiling them. The compiler will give you warnings, safe to ignore, if it is unable to use a precompiled header.
All trademarks used herin are owned by their respective owners. We're just borrowing them to give you a frame of reference by which you can understand what the MiscKit does. |