RE: [ROOT] creating a single exe on ROOT

From: Stilianos Kesisoglou (kesisogl@fnal.gov)
Date: Fri Aug 06 2004 - 18:27:00 MEST


Hi Valeri,
 
Ok so let me clarify what I had in mind yesterday (sorry if it wasn't so
clear in the first place):
 
In principle someone can make a standalone exe that uses ROOT classes, in
the same why that
he/she uses to make any other C++ exe. Just write down the code, include all
classes needed write
down the makefile and compile.
 
Now because ROOT is so extensive it would be nice to move ACLiC one step
further.
The advantage of ACLiC is that ROOT itself knows all of those details needed
from a makefile to
make the compilation. So it would be nice to be able to produce exe code in
one command:
 
macro.C++      -->    Creates the shared object "macro_C.so"
 
macro.C+++    -->    Creates a standalone exe "macro.exe"
 
This way the user would not have to write makefiles to make the standalone
exe.
 
Stelios.


  _____  

From: Valeri Fine [mailto:fine@bnl.gov] 
Sent: Friday, August 06, 2004 10:41 AM
To: 'Stilianos Kesisoglou'; roottalk@pcroot.cern.ch
Subject: RE: [ROOT] creating a single exe on ROOT



Hello Stelios,   Can you elaborate a little bit what do want

  There are possible scenarios:

 

1.     You do not want to type "root", you want to type "code" but you do
not want to include ALL ROOT DLL's inside of your 

"exe'. It can be done easily. For example you can rename "root.exe" into
"code.exe" and add loading of your macro in to rootlogon.C script

 or just put the name of your script into custom $ROOTSYS/etc/system.rootrc
as a name of the "logon script" 

 

Something like this

$ROOTSYS/etc/system.rootrc:

 

   Rint.Logon:              MyCustomLogonRootMacro.C

 

Of course one can image more sophisticated solution also (But anyway there
will be no big difference). 

For example instead of renaming we can recreate the root.exe with a new name
and add call loading your DLL inside of the exe.

However I do not see the big advantage of later solution, just more job.

 

2.     You want your Exe to include  the whole ROOT system, all its
share/DLL's library. 

 

 

          Can you specify what your choice is?

 

----

Best regards

                   Valeri

 

-----Original Message-----
From: owner-roottalk@pcroot.cern.ch [mailto:owner-roottalk@pcroot.cern.ch]
On Behalf Of Stilianos Kesisoglou
Sent: Thursday, August 05, 2004 11:36 PM
To: roottalk@pcroot.cern.ch
Subject: [ROOT] creating a single exe on ROOT

 

Hi, 

I would like to create a single exe file from a ROOT macro. Is this
possible? 
I know for example that if I have a macro named "code.C" I can do: 

root[..].L code.C++ 

and that creates a shared object named "code_C.so" that I can later load 
in a ROOT session and execute. 

What I would like to do is to create a sigle file let's say "code.exe" that
will 
do the same thing (without of cource the need to load it into a ROOT
session). 

Thanks! 

Stelios. 



This archive was generated by hypermail 2b29 : Sun Jan 02 2005 - 05:50:09 MET