=============================================
Metrowerks BeIDE Release Notes 
=============================================

Version:	d2
Date:		4/13/96
Author:		Brian Stern, Jon Watte, Mark Anderson
=============================================

Greetings Be developers.  This release of BeIDE for BeOS 1.1d7 has many 
new features.

BeIDE expects to find the tools mwcc and mwld in a folder named
'tools' that is present in the same folder as BeIDE.

Please see the Be User Guide for more information on how to use BeIDE and
also see the documentation files for the command line tools.

============================
New Features in This Version
============================

¥	Open selection - opens a file whose name is typed into the open selection 
	window.  Also, select a filename in a source file and hit cmd-D.  
	The file will be opened.  The file must be in the project or system trees.

¥	command-tab - opens up the file that matches the currently open source file.
	For example if the current source file is MyFile.c, will open MyFile.h and
	visa versa.

¥	Balance when typing - a flash will occur when the closing parenthesis is
	typed.  Will beep if a close is typed without an open.  Set the flashing
	delay in the Editor view of the Settings window. 

¥	Header popup in text windows - clicking on the little right arrow icon 
	in the bottom left corner of the window shows a popup menu with all of the
	header files that this source file includes.  Choosing one opens it.
	
¥	Function popup in text windows - clicking on the middle icon with the
	braces shows a list of functions in this source file.  Choose one and
	the selection moves to it.  Hold down the option key while clicking
	and the list is in alphabetical order.  Includes support for #pragma mark.  
	Place a line such as the following outside any functions and the Label 
	will appear in the function popup:
	#pragma mark Label

¥	End of line format popup - the third icon shows the end of line format
	for this file.  Be (newline), Mac (carriage return), and DOS (CR, LF).
	The IDE will detect the format of any source file opened.  Changing
	the eol format in the popup will cause the file to be saved in this
	format.
	
¥	Header popup in the project window - the icon for this popup is at the
	right end of a source file line in this window and has the same contents
	as the header popup at the bottom of text windows.
	
¥	Automatic production of precompiled headers - add a text file that contains
	the source for your precompiled header file to the project.  This file
	must end in the extension .pch or .pch++.  Files with the .pch++ extension
	will be precompiled by the C++ compiler while files with the .pch extension
	will be precompiled by the C compiler.  The project language settings will
	be used when precompiling so 'Activate C++ compiler' will cause files that
	end in .pch to be precompiled with the C++ compiler.  A precompiled header
	source file that is part of a project will be precompiled whenever any of 
	the header files that it includes are modified, or if the pch file is 
	touched.  Note that the name of the resulting precompiled header file is 
	simply the name of the pch file with the extension stripped.  The #pragma 
	precompile_target directive is ignored.
	
¥	Precompilation of open source files - open a source file and choose 
	precompile from the Project menu.  The file doesn't need to be part of
	a project but a project file must be open.

¥	Preprocess - select a source file in the project window and choose
	preprocess from the Project menu to see the preprocessor output
	resulting from this file.  You may also preprocess an open source file.

¥	Generate SYM file now works.

¥	You may now drag and drop files with no file type onto the BeIDE 
	application and it will correct the file type and creator if the 
	file doesn't already have a file type and creator based on the name 
	of the file.  This allows recovery of project and source files that 
	have been tarred.  The allowed extensions for project files are (µ, 
	¹, and proj).  This also includes files ending in .c, .cpp, .so, .a, 
	.o. and numerous others with similar extensions.  The same file type 
	fixup will occur when a file is being added to a project.

¥	New about box.

¥	Access paths preferences panel - this panel allows you to add the
	search paths for source and include files.  You may drag folders directly 
	into this panel.  Include directives specified with quotes ("") will be
	searched for first in the 'Project' access paths and then in the 'System'
	access paths.  Include directives specified with angle brackets (<>) will
	be searched for in the 'System' access paths only.  'Treat #include <...>
	as #include "..."' will cause all include directives to be searched for
	in the 'Project' access paths first and then in the 'System' access
	paths.  The folder icon for each access path indicates whether the 
	path will be searched recursively.  Click on the icon to turn recursive
	searching on and off.  Include directives may contain 
	relative paths like:

	#include <sys/types>

	For the file 'sys/types' to be found the folder containing /sys must be
	in one of the System access paths.  (This should be /headers/posix.)

	A typical access paths panel will look like:
	
	Project:
	f {project}

	System:
	f {beide} /headers/be
	  {beide} /headers/gnu
	  {beide} /headers/posix
	  {beide} /libraries
	  /boot/system/lib

	The access paths are also used when searching for files for command-tab
	and Open Selection.
	
	Folders whose names begin with '(' and end with ')' are protected when
	doing recursive searches.  Protected folders and any files or folders 
	within a protected folder are not searched during a recursive search.
	
¥	Project prefs panel addition - A 'Project Type' popup has been added to this
	panel.  You may now build shared libraries and static libraries as well as
	applications.  When building an application the default main entry point
	name, as set in the Linker prefs panel, is '__start', the Initialization
	routine is '_init_routine_' and the termination routine is '_term_routine_'.  
	When building a shared library the default main, initialization, and 
	termination entry points are blank.  The entry point name is ignored 
	for static libs.

¥	PEF Settings prefs panel - This new preferences panel allows you to control
	which symbols are exported in Applications, shared libraries, and plug-ins.
	Choose one of 'None, All globals, Use #pragma, Use ".exp" file' to specify
	how the linker should determine which symbols to export.  'None' will be the
	usual setting for Applications.  For shared libs and plug-ins it is simplest
	to use #pragma export on/#pragma export reset to surround the prototypes of 
	those functions and globals to be exported.  
	
	An exp file is a text file that contains the names of those functions to be
	exported.  The linker will look for a file named 'FileName.exp' in 
	the same directory as the project, where 'FileName' is the name of the
	built executable as specified in the project prefs panel.  If an exp file
	isn't found one will be generated that contains all the function names.
	If one is found its contents will be used as a list of those functions to 
	be exported.
	
¥	Processor Preferences panel -  This panel allows setting optimization
	parameters and other processor parameters.

¥	Warnings Preferences panel -  Turn on or off compiler warnings here.

¥	Language Preferences panel -  Allows adjustment of which compiler (C or C++) 
	is called for source files and which language features are enabled.

¥	Linker Preferences panel -  Can now suppress warning messages and dead-strip
	unused static initialization code.

¥	Resources - Resources have changed in DR7.  Resources may be stored in
	a 'resource file' or at the end of a PEF file.  The APPI resource and
	ICON and MICN resources are used as in DR6 to give the Browser information
	about the signature of an executable and which files an executable 
	recognizes.  These resources are stored at the end of the PEF file.  One
	may also create resource files that simply hold the resource data.
	
	At the end of the make process, after linking, BeIDE will copy resources
	from 'Filename.rsrc' found in the project directory to the PEF container
	that was just generated, where Filename is the name specified in the 
	project prefs panel.

¥	The name of the item 'Metrowerks Defaults' in the 'Apply To' popup
	in the settings window has been changed to 'New Projects'.  This doesn't
	change the functionality of the settings window in any way.  This change is
	meant to reduce confusion about what these settings are used for.

¥	Drag to Rearrange in the project window -  Files and groups in the project 
	window can be reordered by dragging.  This feature is disabled during
	compiles.

¥	Code size and data size for compiled source files and static library files 
	are shown in the project window.  

¥	Clicking on messages in the Message Window now selects the text in the
	source file when opening it.  command-option-(up|down) arrowkey will
	go to the (previous|next) line in the message window and open the
	source file.  Hitting command-option-arrowkey in a source window
	will move to the previoius|next error listed in the message window.

¥	Implemented Copy and SaveACopyAs in the Message Window and
	SaveACopyAs in the Project Window.


==========================
Bugs Fixed in This Version
==========================

Numerous.

Fixed a bug that was probably the cause of corrupted project files.

================================
Known Bugs and Incompatibilities
================================

There is usually a pause when a project file is opened during which time
the response in the project window is slow.

=====================
Contacting Metrowerks
=====================

For bug reports, technical questions and suggestions, please send them to 
devsupport@be.com

--------------------------------------------------------------------------------
Metrowerks Corporation