Project Manager V1.01 for GCC/EMX 0.9a 1 General Information 2 Configuration 3 Quick Overview 4 Hints 5 Files Groupbox 5.1 Add Button|Menu 5.2 Delete Button|Menu 5.3 Edit Button|Menu 5.4 Header Button|Menu 6 Header Dialogbox 6.1 Add 6.2 Delete 6.3 Edit 7 Compile Button|Menu 8 Link Button|Menu 9 Make Button|Menu 10 Options Menu 10.1 Project Settings 10.1.1 Application Options 10.1.2 Libraries 10.1.3 Warnings 10.1.4 Optimization 10.1.5 Linker 10.2 Standard Libraries 10.3 Library & Include Path 10.4 Editor 10.5 Message Font 10.6 Files Font 11 Info Menu 11.1 Help 11.2 File List 11.3 About 1. General Information ----------------------------------------------------------- This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. Project Manager (PRJMGR) is a simple to use PM-Frontend and Maketool for GCC/EMX 0.9a. If you haven't installed the EMX 0.9a package you can get it on several ftp-Servers. This program doesn't work with older versions of EMX but I hope with future versions. It needs the EMX runtime package and will not work without it. You can create OS/2 Commandline, PM applications and DLL's with PRJMGR. PRJMGR calls GCC for compliation, RC.EXE for resource files and LINK386.EXE for linking. (Don't worry! You can find LINK386.EXE and RC.EXE on every OS/2-System). If you find this program usefull please send a postcard (or 9Bit 4MB Simms ;-)) to Roland Knospe Prozessionsweg 8 D-59387 Ascheberg Germany E-Mail ( Only 1995 ) Knospe@unixpr.informatik.fh-dortmund.de Release Notes: V1.0 March 95: - First Release V1.01 September 95: -Changed the "Show" Button to "Edit" -Added a default action (Edit) to the Files ListBox (Thanks to Harald Leinders -> I hope it's ok now) -Changed the run function : 1. The original exe file is used for execution. 2. PrjMgr-Window is blocked during execution. ( Is there somebody who can correct the mistakes in this text ? ) 2. Configuration ----------------------------------------------------------- First you have to install the EMX 0.9a package (Read the README.DOC and INSTALL.DOC of the EMX package). Then start the OMFLIBS.CMD command file in the \EMX\LIB directory (PRJMGR needs the OMF-style libraries !!). After this call INSTALL.EXE. It will copy the PRJMGR files to a location of your choice and creates Desktop objects. Open the new 'Projects' folder and start the 'Project Manager' object. Use the 'Info/Help' Menu to read this text. Change the library and the include Path in the 'Opions/libraray & include Path' Menu to the location of your EMX package. You can also change the Editor PRJMGR works with in the 'Options/Editor' Menu. You will find two other folders in 'Project' with examples. Open one of them and start the 'XXDemo.prj' object. To compile the project press the 'Make' button. After compilation and linking you can start the demo programs with the 'Test/Run' Menu. 3. Quick Overview ----------------------------------------------------------- First steps to create a project: Start PRJMGR (or use the project template to create a project object and start it). Add the source files (*.c, *.cpp, *.m, *.def, *.rc, (or precompiled *.res, *.obj)) with the Add Button. For the time check of the Make function, PRJMGR needs the header files of each source file. Therefore select the source file in the listbox and press the Header Button. Then add the header files. Example for a PM program: Source: Header: ------------------------------------------------ Module1.c Module1.h Global.h Module2.cpp Module2.h Global.h Resource.rc Dialog.dlg Global.h Icon.ico Deffile.def Example for a simple program: Source: Header: ------------------------------------------------ Module.c Module.h Then use the project settings in the Options Menu to set the Compiler and linker settings. For simple commandline programs you can use the default settings. These settings are for each project individual. They are stored in the *.prj file. Save the project with the 'Save' Button or the 'Save as' function in the File Menu. Press the 'Make' Button ( or press Compile and then Link). To start the program use the Test/Run Menu. 4. Hints: ----------------------------------------------------------- - the Debug option doesn't work with GDB. ( it needs unix-style libraries ! ). IBM's IPMD should work. ( never testet !! ) - the 'Standard Libraries' setting should only be used to adjust the standard libraries of future EMX versions !! - PRJMGR creates the EXE files in the directory of the project file - PRJMGR compiles each source file of a project separately - the Make function compiles and links only if it's necessary ! (The Make function doesn't take notice of project setting changes) - for bigger projects ( many *.c *.cpp *.m *.obj files ) the source files should be in the same directory as the project file ! ( the parameter file for LINK386 is limited in size ) 5. Files Groupbox ----------------------------------------------------------- Here you can enter the source and object files and the definition file. 5.1 Add Button|Menu ----------------------------------------------------------- Add one or more source, object or definition file(s) to the project. 5.2 Delete Button|Menu ----------------------------------------------------------- Delete the selected files ( Listbox) from the project. 5.3 Edit Button|Menu ----------------------------------------------------------- Start the Editor with the selected file ( Listbox). 5.4 Header Button|Menu ----------------------------------------------------------- Opens the Header Dialogbox of the selected file. 6 Header Dialogbox ----------------------------------------------------------- You can add, delete and display the header files of a source file in this Dialogbox. PRJMGR does check the time stamp of these files to determine if it's necessary to compile the source file. 6.1 Add ----------------------------------------------------------- Add one or more header files to the source file. 6.2 Delete ----------------------------------------------------------- Delete the selected header files ( Listbox) from the source file. 6.3 Edit ----------------------------------------------------------- Start the Editor with the selected header file. 7. Compile Button|Menu ----------------------------------------------------------- Create object files from the *.c, *.cpp, *.m and *.rc files. 8. Link Button|Menu ----------------------------------------------------------- Link the *.obj, *.res and the compiled source files. 9. Make Button|Menu ----------------------------------------------------------- Compile changed source files and link if necessary. 10 Options Menu ----------------------------------------------------------- You can find the settings here. 10.1 Project Settings ----------------------------------------------------------- Settings for the compiler and linker. They are stored in the *.prj file. 10.1.1 Application Options ----------------------------------------------------------- Type of the generated code. File format ----------- EXE: Executable Runtime DLL: Runtime dynamic link library Stand alone DLL: DLL with it's own runtime environment Thread's -------- Single-thread: Program has only one thread Multi-thread: Program work's with the _beginthread function Standard Libraries ------------------ C-Library Static: Link C-Library static (c.lib) C-Library Dynamic: Link C-Library dynamic (emxlibc.dll) System-library Static: Link system call library static (sys.lib) System-library Dynamic: Link system call library dynamic (emx.dll) //-Comments ( I know. It's not the correct place !!) ----------- Enable C++ comments in c programs Stack probes ------------ Generate stack probes Debug Information ----------------- Add debug info (for IPMD ! It doesn't work with GDB ) 10.1.2 Libraries ----------------------------------------------------------- Additional libraries Emx IO: EMXIO.LIB (Import library for EMXIO.DLL -> I/O functions ) Graphic: GRAPH.LIB ( Graphics library ) Video: VIDEO.LIB ( Textmode window manager functions ) Module Def.: MODDEF.LIB (Functions for reading def files ) Wraper Func: WRAP.LIB ( Import library fo emxwrap.dll ) Omflib: OMFLIB.LIB ( Functions for reading & creating OMF Libraries) Gpp: GPP.LIB ( Gnu C++ library ) IOStream: IOSTREAM.LIB ( C++ IOStream library ) Objective C: OBJC.LIB (You have to use this library for Objective C) Bsd: BSD.LIB ( BSD library ) Curses: CURSES ( BSD curses library ) Socket: SOCKET.LIB ( Socket library ) Other: You can specify other libraries in this field. ( Without lib extension. Separate them with space) 10.1.3 Warnings ----------------------------------------------------------- Enable/Disable compiler warnings. The default is 'All warnings' 10.1.4 Optimization ----------------------------------------------------------- No optimazation: Do nothing Standard optimization: Gcc option O1 Extended optimization: Gcc option O2 10.1.5 Linker ----------------------------------------------------------- Base command: Code base address Stack command: Stacksize Run from VDM: Program startable from VDM Map file: Create map file Application type ---------------- See Def-File: Use the type setting in the linker definition file Use this settings only for executable programs without def file: ------------------------------------------------------ PM Application: Presentation manager application Windowed: Windowable Commandline program Fullscreen: Fullscreen Commandline program 10.2 Standard Libraries ----------------------------------------------------------- This setting should only be used to adjust the standard libraries of future EMX versions ! 10.3 Library & Include Path ----------------------------------------------------------- Linker library path ------------------- Library path: \emx\Lib directory of the EMX package Single-thread Library path: emx\lib\st directory (Single-thread libraries) Multi-thread Library path: emx\lib\mt directory (Multi-thread libraries) Resource compiler include path: \emx\include 10.4 Editor ----------------------------------------------------------- Editor used for the 'Edit' function. The default is E.EXE. ( But EPM.EXE is the better choice !) 10.5 Message Font ----------------------------------------------------------- Message display font 10.6 Files Font ----------------------------------------------------------- Files listbox font 11 Info Menu 11.1 Help ----------------------------------------------------------- Show this help text. 11.2 File List ----------------------------------------------------------- Show the source & header files with there full path. 11.3 About ----------------------------------------------------------- 'About' displays the version of PRJMGR.