Re: [ROOT] Delay.h

From: Nick van Eijndhoven (Nick@phys.uu.nl)
Date: Mon Feb 04 2002 - 12:59:36 MET


Dear Giuseppe,
I experienced also problems with makefiles under windows when running
on a win98 platform.
Already quite some time ago I suggested for windows platforms to use
just a simple DOS based script file (i.e. .bat file) to create libraries
(i.e. both .lib and .dll). Using DOS based scripts ensures that the thing
will run on any windows based platform. I just uses plain command-line mode
commands for MSVC++.
Attached you will find the file mklibs.txt which I use as a 'universal'
basis for creation of my private libraries. Perhaps this will be of use
to you. Note that I renamed the attachment from mklibs.bat to mklibs.txt
to prevent email systems from refusing the attachment because of safety
measures against viruses.
A similar .bat file I once gave to Philippe Canal in view of using it
as a skeleton for the ACLIC functionality on windows machines.
This would enable the use of ".x test.cc++" to compile, load and
execute a macro test.cc also on win98. I don't know whether it has
been implemented yet already.

                                                    Cheers,
                                                     Nick.

-- 
Dr. Nick van Eijndhoven mailto:nick@phys.uu.nl http://www.phys.uu.nl/~nick
--------------------------------------------------------------------------
Org.:    Utrecht University/Nikhef, Department of Subatomic Physics
Address: Princetonplein 5, NL-3584 CC Utrecht, The Netherlands
Phone:   +31-30-2532331(direct) +31-30-2531492(secr.)  Fax: +31-30-2518689
NIKHEF:  +31-20-5922178(direct) +31-20-5922000(secr.)  Fax: +31-20-5925155
CERN:    +41-22-7679751(direct) +41-22-7675857(secr.)  Fax: +41-22-7679480
Offices: Buys Ballot lab. 710 (Utrecht)   N241 (Nikhef)   B23 1-020 (CERN)
--------------------------------------------------------------------------




giuseppe de marco wrote:
> 
> I am sorry, but your Makefile.win32 is not good for my platform. i am very
> boring to continue to try to compile a very little simple library on my
> Win98 platform. I get always an error about sintax or macros invocation.
> i tried to modify the file such as that I attach to you.
> Any reply?
> 
> At 11.37 01/02/2002 +0100, Bertrand Bellenot wrote:
> 
> >Hello Henk and Giuseppe,
> >
> >Here is the makefile for win32.
> >And please rename Delay.C into Delay.cxx, or change
> >SrcSuf into Makefile.
> >I have successfully built the dll in W2k
> >
> >Cheers,
> >Bertrand.
> >
> >
> >----- Original Message -----
> >From: "Henk Uijterwaal (RIPE-NCC)" <henk@ripe.net>
> >To: "giuseppe" <gdemarco@unisa.it>
> >Cc: "ROOT" <roottalk@pcroot.cern.ch>
> >Sent: Thursday, January 31, 2002 12:27 PM
> >Subject: [ROOT] Delay.h
> >
> >
> > >
> > > > There is someone who never tryed to compile the lib Delay.h from RIPE
> >under
> > > > ROOT/windows?
> > >
> > > Let me clarify this question:
> > >
> > > We defined our own root structures for a project and created a library
> > > with functions to manipulate them (see http://www.ripe.net/test-traffic
> > > for the project, http://www.ripe.net/test-traffic/General/root.html for
> > > details on the root stuff, and
> > > ftp://ftp.ripe.net/test-traffic/ROOT/libDelay for the sources).
> > >
> > > The makefile in that directory works fine under various Unix'es. However,
> > > Guiseppe has a Windows2000 machine and has problems compiling the library
> > > on that platform.
> > >
> > > I suspect the problem is in the first few definitions of the makefile,
> > > however, since we don't have W2K, there is no way for us to help him.
> > >
> > > Is there anybody who has compiled root on a W2K machine who can have a
> > > quick look at this Makefile?
> > >
> > > Henk
> > >
> > > --------------------------------------------------------------------------
> >----
> > > Henk Uijterwaal                    Email: henk.uijterwaal@ripe.net
> > > RIPE Network Coordination Centre     WWW: http://www.ripe.net/home/henk
> > > Singel 258                         Phone: +31.20.5354414
> > > 1016 AB Amsterdam                    Fax: +31.20.5354445
> > > The Netherlands                   Mobile: +31.6.55861746
> > > --------------------------------------------------------------------------
> >----
> > >
> > > That problem that we weren't having yesterday, is it better? (Big ISP NOC)
> > >
> > >
> > >
> 
>   ----------------------------------------------------------------------------------------------------------------------------------
> 
>    Makefile.win32Name: Makefile.win32
>                  Type: Plain Text (text/plain)

@echo off
rem ****************************************************************************
rem *   Script to create an MSVC++ LIB and relocatable DLL from *.cxx files
rem *
rem * Usage :
rem * -------
rem * mklibs export : ROOT loadable DLL and export LIB are created
rem * mklibs full   : ROOT loadable DLL and full LIB version are created
rem * 
rem * Notes :
rem * -------
rem * 1) "mklibs export" is the default, enabling ROOT loadable library creation
rem *    via 'double clicking'.
rem *
rem * 2) Providing unsupported options results in displaying the help info.  
rem *
rem * This script creates ralice.lib and ralice.dll from all .h and .cxx files
rem * in the current directory.
rem *
rem * In view of the ROOTCINT processing, the following two standard files
rem * are always required :
rem *
rem * RALICEHeaders.h : containing an include of all .h files
rem * RALICELinkDef.h : containing the #pragma's to define all classes
rem *
rem * --- NvE 04-apr-2000 UU-SAP Utrecht
rem ****************************************************************************

echo .
echo === Automatic ROOT library production of files ralice.lib and ralice.dll ===
echo .

rem --- The option strings for MSVC++ DLL compilation and linking ---
set mscomp=/nologo /c /TP /Za /MD /I%ROOTSYS%\include
set msdll=/nologo /TP /Za /MD /LD /GD /I%ROOTSYS%\include
set mslink=/ENTRY:_DllMainCRTStartup@12 %ROOTSYS%\lib\*.lib

if "%1" == "" goto export
if "%1" == "export" goto export
if "%1" == "full" goto full

rem --- Displaying of the help info ---
echo ****************************************************************************
echo *   Script to create an MSVC++ LIB and relocatable DLL from *.cxx files
echo *
echo * Usage :
echo * -------
echo * mklibs export : ROOT loadable DLL and export LIB are created
echo * mklibs full   : ROOT loadable DLL and full LIB version are created
echo * 
echo * Notes :
echo * -------
echo * 1) "mklibs export" is the default, enabling ROOT loadable library creation
echo *    via 'double clicking'.
echo * 2) Providing unsupported options results in displaying the help info.  
echo *
echo * This script creates ralice.lib and ralice.dll from all .h and .cxx files
echo * in the current directory.
echo *
echo * In view of the ROOTCINT processing, the following two standard files
echo * are always required :
echo *
echo * RALICEHeaders.h : containing an include of all .h files
echo * RALICELinkDef.h : containing the #pragma's to define all classes
echo ****************************************************************************
goto end

:export
echo *** Creation of ROOT loadable export libraries
echo.
rem --- Set the RALICE source directory as working directory
cd ..
rem --- Creation of ROOT dictionary ---
rootcint zzzralicedict.cxx -c RALICEHeaders.h RALICELinkDef.h
rem --- Compilation step ---
cl %mscomp% *.cxx
rem --- Creation of the export LIB ---
bindexplib ralice *.obj > ralice.def
lib /nologo /machine:IX86 *.obj /def:ralice.def /out:ralice.lib
rem --- Creation of the DLL ---
link /nologo /machine:IX86 /DLL *.obj ralice.exp %mslink% /OUT:ralice.dll
rem --- Move the created libs to the SCRIPTS subdirectory
move ralice.lib .\scripts
move ralice.dll .\scripts
rem --- Delete all intermediate files --- 
del .def
del ralice.def
del ralice.exp
del zzzralicedict.h
del zzzralicedict.cxx
del *.obj
echo.
echo *** mklibs done.
goto end

:full
echo *** Creation of ROOT loadable full version libraries
echo.
rem --- Set the RALICE source directory as working directory
cd ..
rem --- Creation of ROOT dictionary ---
rootcint zzzralicedict.cxx -c RALICEHeaders.h RALICELinkDef.h
rem --- Creation of the DLL ---
cl %msdll% *.cxx /link %mslink% /OUT:ralice.dll
rem --- Creation of the full version LIB ---
lib /nologo /machine:IX86 *.obj /out:ralice.lib
rem --- Move the created libs to the SCRIPTS subdirectory
move ralice.lib .\scripts
move ralice.dll .\scripts
rem --- Delete all intermediate files --- 
del .def
del zzzralicedict.h
del zzzralicedict.cxx
del *.obj
echo.
echo *** mklibs done.
goto end

:end
rem --- End of script ---



This archive was generated by hypermail 2b29 : Sat Jan 04 2003 - 23:50:40 MET