This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
More safety in free()s
[perl5.git] / README.netware
index 2113e7b..df56abc 100644 (file)
-This file is written in the POD format.  If you are reading it thro'
-a text editor, ignore the words like =head1, =over etc.
+If you read this file _as_is_, just ignore the funny characters you
+see.  It is written in the POD format (see pod/perlpod.pod) which is
+specifically designed to be readable as is.
 
-=head1 Name
+=head1 NAME
 
-Perl for NetWare5.x
+perlnetware - Perl for NetWare
 
-=head1 Description
+=head1 DESCRIPTION
 
-This file gives the instructions for building Perl5.6.1 for NetWare5.x.
-Please read and understand the terms under which this software is distributed.
+This file gives instructions for building Perl 5.7 and above, and also 
+Perl modules for NetWare. Before you start, you may want to read the
+README file found in the top level directory into which the Perl source
+code distribution was extracted. Make sure you read and understand
+the terms under which the software is being distributed.
 
+=head1 BUILD
 
-=head1 Build
-
-This section describes the steps to be performed to build a Perl NLM and other associated
-NLMs.
+This section describes the steps to be performed to build a Perl NLM
+and other associated NLMs.
 
 =head2 Tools & SDK
 
-The build requires Watcom 11.x compiler and linker.  NetWare SDK, available at L<http://developer.novell.com/ndk/>,  is required.
-Apart from NetWare SDK, "NLM & NetWare Libraries for C" and "NetWare Server Protocol Libraries for C"
-are also required.  This is also available at the above mentioned site.
+The build requires CodeWarrior compiler and linker.  In addition,
+the "NetWare SDK", "NLM & NetWare Libraries for C" and
+"NetWare Server Protocol Libraries for C", all available at
+L<http://developer.novell.com/ndk/>, are also required.
 Microsoft Visual C++ version 4.2 or later is also required.
 
-Currently the interpreter builds only with Watcom, we do have plans of making this work with
-CodeWarrior as well.
-
 =head2 Setup
 
-The build process is dependent on the location of the NetWare SDK.  Once the required software
-is installed, the build environment has to be setup.  The following batch files setup 
-the environment.
-
-I<Buildtype.bat> - This sets the build type to release or debug.
-
-I<SetNWBld.bat>  - This sets the NetWare SDK path, Compiler & other tools path & MPK SDK path.
-
-I<MPKBuild.bat>  - This is required only it we are building multi-processor enabled NLMs.
-
-These batch files are under NetWare\bat folder.  These batch files call a couple of other
-batch files to setup the environment.  Invoking the batch file with I</now> will show the 
-current settings and I</h> or I</?> gives the usage help.
+The build process is dependent on the location of the NetWare SDK.
+Once the Tools & SDK are installed, the build environment has to
+be setup.  The following batch files setup the environment.
 
-=head2 Make
+=over 4
 
-The makefile is located under the NetWare folder.  Type nmake at the WinNT command prompt. 
-The make process runs only under WinNT shell.  The makefile makes use of miniperl.exe to 
-run some of the Perl scripts.  Please run nmake from win32 folder which builds miniperl.exe before
-running nmake from NetWare folder.  The build process can be stopped after miniperl.exe is created.
+=item SetNWBld.bat
 
-Currently the follwing two build types are tested on NetWare
+The Execution of this file takes 2 parameters as input. The first
+being the NetWare SDK path, second being the path for CodeWarrior
+Compiler & tools. Execution of this file sets these paths and also
+sets the build type to Release by default.
 
-=over 4
-
-=item *
+=item Buildtype.bat
 
-USE_MULTI, USE_ITHREADS & USE_IMP_SYS defined
+This is used to set the build type to debug or release. Change the
+build type only after executing SetNWBld.bat
 
 =item *
 
-USE_MULTI & USE_IMP_SYS defined and USE_ITHREADS not defined
+Example:
+  1. Typing "buildtype d on" at the command prompt causes the buildtype
+     to be set to Debug type with D2 flag set. 
+  2. Typing "buildtype d off" or "buildtype d" at the command prompt causes
+     the buildtype to be set to Debug type with D1 flag set. 
+  2. Typing "buildtype r" at the command prompt sets it to Release Build type.
 
 =back
 
-=head2 Interpreter
-
-Once miniperl.exe creation is over, run nmake from the NetWare folder. This will build the 
-Perl interpreter for NetWare as I<perl.nlm>.  This is copied under the I<Release> folder if you
-are doing a release build else will be copied under I<Debug> folder for debug builds.
-
-=head2 Extensions
-
-The make process also creates the Perl extensions which are called NLPs (NetWare Loadable Perl).
-
-=head1 Install
-
-Installing NetWare Perl on Windows doesn't make any sense.  To install, type I<nmake nwinstall>. This
-will copy the binaries and module files to a NetWare server.  The makefile, by default sets the 
-drive letter to I<i:> which should be mapped to the I<sys> volume of a NetWare server.  The Perl 
-interpreter, I<perl.nlm>, is copied under I<sys:\perl\system> folder. Copy I<perl.nlm> to 
-I<sys:\system> folder. Before running I<nmake nwinstall>, make sure the NetWare server on which 
-the files have to go is mapped to the drive letter I<i:>.
+=head2 Make
 
-=head1 Build new extensions
+The make process runs only under WinNT shell.  The NetWare makefile is
+located under the NetWare folder.  This makes use of miniperl.exe to
+run some of the Perl scripts. To create miniperl.exe, first set the
+required paths for Visual c++ compilier (specify vcvars32 location) at
+the command prompt.  Then run nmake from win32 folder through WinNT
+command prompt.  The build process can be stopped after miniperl.exe
+is created. Then run nmake from NetWare folder through WinNT command
+prompt.
 
-To build extensions other than standard extensions, NetWare Perl has to be installed on Windows as well.
-This can be done by invoking I<nmake install> on the Windows NT command prompt.  This will copy all
-the *.pm files and other required files.  Documentation files are not copied. This has be done after 
-installing Perl for Windows. Once this is done, to build any extension, do the following
+Currently the following two build types are tested on NetWare:
 
 =over 4
 
 =item *
-perl -II<path to NetWare lib dir> -II<path to lib> Makefile.pl
-
-Ex: perl -Ic:/perl/5.6.1/lib/NetWare-multi-thread -Ic:\perl\5.6.1\lib MakeFile.pl
 
-=item *
-nmake
+USE_MULTI, USE_ITHREADS & USE_IMP_SYS defined
 
 =item *
-nmake install
-
 
-Install will copy the files into the Windows machine where NetWare Perl is installed, these files
-have to be copied to the NetWare server manually.  Alternatively, pass I<INSTALLSITELIB=i:\perl\lib>
-as an input to makefile.pl above.  Where I<i:> is the mapped drive to the sys: volume of the 
-server where Perl on NetWare is installed.  Now saying I<nmake install>, will copy the files 
-to the server.
+USE_MULTI & USE_IMP_SYS defined and USE_ITHREADS not defined
 
 =back
 
-=head1 Known Issues
-
-=item * 
-
-With USE_ITHREADS not defined, backtick seems to be having some problems.
+=head2 Interpreter
 
-=item *
+Once miniperl.exe creation is over, run nmake from the NetWare folder.
+This will build the Perl interpreter for NetWare as I<perl.nlm>.
+This is copied under the I<Release> folder if you are doing
+a release build, else will be copied under I<Debug> folder for debug builds.
 
-The utility scripts (pod2html.pl, pod2man.pl, perldoc.pl etc.) are not yet ported to work on NetWare.
+=head2 Extensions
 
-=item *
+The make process also creates the Perl extensions as I<<Extension>.nlm>
 
-Also fork() is not currently implemented.
+=head1 INSTALL
 
-=head1 Acknowledgements
+To install NetWare Perl onto a NetWare server, first map the Sys
+volume of a NetWare server to I<i:>. This is because the makefile by
+default sets the drive letter to I<i:>.  Type I<nmake nwinstall> from
+NetWare folder on a WinNT command prompt.  This will copy the binaries
+and module files onto the NetWare server under I<sys:\Perl>
+folder. The Perl interpreter, I<perl.nlm>, is copied under
+I<sys:\perl\system> folder.  Copy this to I<sys:\system> folder.
 
-For the porting purpose, the PerlHost of Win32 port was used as reference and NetWare portions are
-added. Also the makefile for Win32 is used as a reference to create the makefile for NetWare build.
-Additionally the make process for NetWare port uses miniperl.exe to run scripts during the make and
-installation process.
+Example: At the command prompt Type "nmake nwinstall".
+          This will install NetWare Perl on the NetWare Server.
+          Similiarly if you type "nmake install",
+          This will cause the binaries to be installed on the local machine.
+          (Typically under the c:\perl folder)
 
-=head1 Author
+=head1 BUILD NEW EXTENSIONS
 
-Guruprasad S (sguruprasad@novell.com)
+To build extensions other than standard extensions, NetWare Perl has
+to be installed on Windows along with Windows Perl. The Perl for
+Windows can be either downloaded from the CPAN site and built using
+the sources, or the binaries can be directly downloaded from the
+ActiveState site.  Installation can be done by invoking I<nmake
+install> from the NetWare folder on a WinNT command prompt after
+building NetWare Perl by following steps given above.  This will copy
+all the *.pm files and other required files.  Documentation files are
+not copied.  Thus one must first install Windows Perl, Then install
+NetWare Perl.
 
-=head1 Date
+Once this is done, do the following to build any extension:
 
 =over 4
 
 =item *
 
-Created - 18th Jan 2001
+Change to the extension directory where its source files are present.
 
 =item *
 
-Modified -  16th April 2001
-
-=back
-This file is written in the POD format.  If you are reading it thro'
-a text editor, ignore the words like =head1, =over etc.
-
-=head1 Name
-
-Perl for NetWare5.x
-
-=head1 Description
-
-This file gives the instructions for building Perl5.6.1 for NetWare5.x.
-Please read and understand the terms under which this software is distributed.
-
-
-=head1 Build
-
-This section describes the steps to be performed to build a Perl NLM and other associated
-NLMs.
+Run the following command at the command prompt:
 
-=head2 Tools & SDK
-
-The build requires Watcom 11.x compiler and linker.  NetWare SDK, available at L<http://developer.novell.com/ndk/>,  is required.
-Apart from NetWare SDK, "NLM & NetWare Libraries for C" and "NetWare Server Protocol Libraries for C"
-are also required.  This is also available at the above mentioned site.
-Microsoft Visual C++ version 4.2 or later is also required.
-
-Currently the interpreter builds only with Watcom, we do have plans of making this work with
-CodeWarrior as well.
-
-=head2 Setup
-
-The build process is dependent on the location of the NetWare SDK.  Once the required software
-is installed, the build environment has to be setup.  The following batch files setup 
-the environment.
-
-I<Buildtype.bat> - This sets the build type to release or debug.
-
-I<SetNWBld.bat>  - This sets the NetWare SDK path, Compiler & other tools path & MPK SDK path.
-
-I<MPKBuild.bat>  - This is required only it we are building multi-processor enabled NLMs.
-
-These batch files are under NetWare\bat folder.  These batch files call a couple of other
-batch files to setup the environment.  Invoking the batch file with I</now> will show the 
-current settings and I</h> or I</?> gives the usage help.
+    perl -II<path to NetWare lib dir> -II<path to lib> Makefile.pl
 
-=head2 Make
+Example:
 
-The makefile is located under the NetWare folder.  Type nmake at the WinNT command prompt. 
-The make process runs only under WinNT shell.  The makefile makes use of miniperl.exe to 
-run some of the Perl scripts.  Please run nmake from win32 folder which builds miniperl.exe before
-running nmake from NetWare folder.  The build process can be stopped after miniperl.exe is created.
+    perl -Ic:/perl/5.6.1/lib/NetWare-x86-multi-thread -Ic:\perl\5.6.1\lib MakeFile.pl
 
-Currently the follwing two build types are tested on NetWare
+or
 
-=over 4
+    perl -Ic:/perl/5.8.0/lib/NetWare-x86-multi-thread -Ic:\perl\5.8.0\lib MakeFile.pl
 
 =item *
 
-USE_MULTI, USE_ITHREADS & USE_IMP_SYS defined
+nmake
 
 =item *
 
-USE_MULTI & USE_IMP_SYS defined and USE_ITHREADS not defined
-
-=back
-
-=head2 Interpreter
-
-Once miniperl.exe creation is over, run nmake from the NetWare folder. This will build the 
-Perl interpreter for NetWare as I<perl.nlm>.  This is copied under the I<Release> folder if you
-are doing a release build else will be copied under I<Debug> folder for debug builds.
-
-=head2 Extensions
-
-The make process also creates the Perl extensions which are called NLPs (NetWare Loadable Perl).
-
-=head1 Install
+nmake install
 
-Installing NetWare Perl on Windows doesn't make any sense.  To install, type I<nmake nwinstall>. This
-will copy the binaries and module files to a NetWare server.  The makefile, by default sets the 
-drive letter to I<i:> which should be mapped to the I<sys> volume of a NetWare server.  The Perl 
-interpreter, I<perl.nlm>, is copied under I<sys:\perl\system> folder. Copy I<perl.nlm> to 
-I<sys:\system> folder. Before running I<nmake nwinstall>, make sure the NetWare server on which 
-the files have to go is mapped to the drive letter I<i:>.
+Install will copy the files into the Windows machine where NetWare
+Perl is installed and these files may have to be copied to the NetWare
+server manually. Alternatively, pass I<INSTALLSITELIB=i:\perl\lib> as
+an input to makefile.pl above. Here I<i:> is the mapped drive to the
+sys: volume of the server where Perl on NetWare is installed. Now
+typing I<nmake install>, will copy the files onto the NetWare server.
 
-=head1 Build new extensions
+Example: You can execute the following on the command prompt.
 
-To build extensions other than standard extensions, NetWare Perl has to be installed on Windows as well.
-This can be done by invoking I<nmake install> on the Windows NT command prompt.  This will copy all
-the *.pm files and other required files.  Documentation files are not copied. This has be done after 
-installing Perl for Windows. Once this is done, to build any extension, do the following
+          perl -Ic:/perl/5.6.1/lib/NetWare-x86-multi-thread -Ic:\perl\5.6.1\lib MakeFile.pl
+          INSTALLSITELIB=i:\perl\lib
 
-=over 4
+or
 
-=item *
-perl -II<path to NetWare lib dir> -II<path to lib> Makefile.pl
+          perl -Ic:/perl/5.8.0/lib/NetWare-x86-multi-thread -Ic:\perl\5.8.0\lib MakeFile.pl
+          INSTALLSITELIB=i:\perl\lib
 
-Ex: perl -Ic:/perl/5.6.1/lib/NetWare-multi-thread -Ic:\perl\5.6.1\lib MakeFile.pl
+=item * 
 
-=item *
-nmake
+Note: Some modules downloaded from CPAN may require NetWare related
+API in order to build on NetWare.  Other modules may however build
+smoothly with or without minor changes depending on the type of
+module.
 
-=item *
-nmake install
+=back
 
+=head1 ACKNOWLEDGEMENTS
 
-Install will copy the files into the Windows machine where NetWare Perl is installed, these files
-have to be copied to the NetWare server manually.  Alternatively, pass I<INSTALLSITELIB=i:\perl\lib>
-as an input to makefile.pl above.  Where I<i:> is the mapped drive to the sys: volume of the 
-server where Perl on NetWare is installed.  Now saying I<nmake install>, will copy the files 
-to the server.
+The makefile for Win32 is used as a reference to create the makefile
+for NetWare.  Also, the make process for NetWare port uses
+miniperl.exe to run scripts during the make and installation process.
 
-=back
+=head1 AUTHORS
 
-=head1 Known Issues
+Anantha Kesari H Y (hyanantha@novell.com)
+Aditya C (caditya@novell.com)
 
-=item * 
+=head1 DATE
 
-With USE_ITHREADS not defined, backtick seems to be having some problems.
+=over 4
 
 =item *
 
-The utility scripts (pod2html.pl, pod2man.pl, perldoc.pl etc.) are not yet ported to work on NetWare.
+Created - 18 Jan 2001
 
 =item *
 
-Also fork() is not currently implemented.
-
-=head1 Acknowledgements
-
-For the porting purpose, the PerlHost of Win32 port was used as reference and NetWare portions are
-added. Also the makefile for Win32 is used as a reference to create the makefile for NetWare build.
-Additionally the make process for NetWare port uses miniperl.exe to run scripts during the make and
-installation process.
-
-=head1 Author
-
-Guruprasad S (sguruprasad@novell.com)
-
-=head1 Date
-
-=over 4
+Modified - 25 June 2001
 
 =item *
 
-Created - 18th Jan 2001
+Modified - 13 July 2001
 
 =item *
 
-Modified -  16th April 2001
+Modified - 28 May 2002
 
 =back