Skip to content
Snippets Groups Projects
Commit e4207a9e authored by Philippe Canal's avatar Philippe Canal
Browse files

I added a new script (makecintdll.sh) which can make just one cintdll at a time.

I used it for three new targets
   cint/include/pthread.dll
   cint/include/qtcint.dll
and (just for the example)
   cint/include/stdfunc.dll


git-svn-id: http://root.cern.ch/svn/root/trunk@14057 27541ba8-7e3a-0410-8455-c3a389f83636
parent 63b1ab70
No related branches found
No related tags found
No related merge requests found
......@@ -305,6 +305,7 @@ MAKEMAKEINFO = build/unix/makeinfo.sh
MAKECHANGELOG = build/unix/makechangelog.sh
MAKEHTML = build/unix/makehtml.sh
MAKELOGHTML = build/unix/makeloghtml.sh
MAKECINTDLL = build/unix/makecintdll.sh
MAKECINTDLLS = build/unix/makecintdlls.sh
MAKESTATIC = build/unix/makestatic.sh
RECONFIGURE = build/unix/reconfigure.sh
......
#! /bin/sh
# Script to create auxiliary CINT dll's.
# Called by main Makefile.
#
# Author: Fons Rademakers, 27/7/2000
PLATFORM=$1 ; shift
if [ $PLATFORM != "clean" ]; then
DLLNAME=$1 ; shift
DLLDIRNAME=$1 ; shift
DLLHEADERS=$1 ; shift
CINT=$1 ; shift
ROOTCINT=$1 ; shift
MAKELIB=$1 ; shift
CXX=$1 ; shift
CC=$1 ; shift
LD=$1 ; shift
OPT=$1 ; shift
CINTCXXFLAGS=$1 ; shift
CINTCFLAGS=$1 ; shift
LDFLAGS=$1 ; shift
SOFLAGS=$1 ; shift
SOEXT=$1 ; shift
COMPILER=$1 ; shift
fi
if [ $PLATFORM = "macosx" ]; then
macosx_minor=`sw_vers | sed -n 's/ProductVersion://p' | cut -d . -f 2`
AUXCXXFLAGS=-fno-inline
fi
if [ $PLATFORM = "win32" ]; then
EXESUF=.exe
CC=`pwd`/$CC
fi
if [ "x$COMPILER" = "xgnu" ]; then
GCC_MAJOR=`$CXX -dumpversion 2>&1 | cut -d'.' -f1`
GCC_MINOR=`$CXX -dumpversion 2>&1 | cut -d'.' -f2`
fi
# Filter out the explicit link flag
if [ "x`echo $MAKELIB | grep build/unix/makelib.sh`" != "x" ]; then
MAKELIB=`echo $MAKELIB | sed -e "s/ -x//g"`
fi
CINTDIRL=cint/lib
CINTDIRI=cint/include
CINTDIRS=cint/stl
clean() {
rm -f $CINTDIRI/$DLLNAME.dll $CINTDIRI/$DLLNAME.so.*
}
execute() {
echo $1
$1
}
rename() {
if [ "$SOEXT" != "dll" ]; then
if [ "$PLATFORM" = "macosx" ]; then
if [ $macosx_minor -ge 4 ]; then
mv $1.$SOEXT $1.dll
rm -f $1.so
else
mv $1.so $1.dll
rm -f $1.$SOEXT
fi
else
mv $1.$SOEXT $1.dll
fi
fi
}
macrename() {
if [ "$PLATFORM" = "macosx" ]; then
if [ $macosx_minor -ge 4 ]; then
mv -f $1.$SOEXT $1.so
else
rm -f $1.$SOEXT
fi
fi;
}
cpdllwin32() {
mv -f bin/$DLLNAME.dll $CINTDIRI
}
##### first delete old dll's #####
clean
if [ $PLATFORM = "clean" ]; then
exit 0;
fi
##### $DLLNAME.dll & stdcxxfunc.dll #####
DLLDIR=$CINTDIRL/$DLLDIRNAME
execute "$CINT -K -w1 -z$DLLNAME -n$DLLDIR/G__$DLLNAME.c -D__MAKECINT__ \
-DG__MAKECINT -c-2 -Z0 -I$DLLDIR $DLLHEADERS"
execute "$CC $OPT $CINTCFLAGS -I. -o $DLLDIR/G__$DLLNAME.o -I$DLLDIR \
-c $DLLDIR/G__$DLLNAME.c"
$MAKELIB $PLATFORM $LD "$LDFLAGS" "$SOFLAGS" $DLLNAME.$SOEXT \
$CINTDIRI/$DLLNAME.$SOEXT "$DLLDIR/G__$DLLNAME.o"
rename $CINTDIRI/$DLLNAME
if [ $PLATFORM = "win32" ]; then
cpdllwin32
fi
exit 0
......@@ -13,6 +13,7 @@ CINTDIRI := $(CINTDIR)/inc
CINTDIRM := $(CINTDIR)/main
CINTDIRT := $(CINTDIR)/tool
CINTDIRL := $(CINTDIR)/lib
CINTDIRDLLS := $(CINTDIR)/include
##### libCint #####
CINTH := $(wildcard $(MODDIRI)/*.h)
......@@ -309,3 +310,10 @@ $(CINTDIRS)/v6_loadfile_tmp.d: $(CINTDIRS)/v6_loadfile.cxx $(RMKDEP)
@cp $(CINTDIRS)/v6_loadfile.cxx $(CINTDIRS)/v6_loadfile_tmp.cxx
$(MAKEDEP) $@ "$(CXXFLAGS)" $(CINTDIRS)/v6_loadfile_tmp.cxx > $@
@rm -f $(CINTDIRS)/v6_loadfile_tmp.cxx
##### cintdlls ######
$(CINTDIRDLLS)/stdfunc.dll: $(CINTTMP) $(ROOTCINTTMPEXE) cint/lib/stdstrct/stdfunc.h
@$(MAKECINTDLL) $(PLATFORM) stdfunc stdstrct stdfunc.h "$(CINTTMP)" "$(ROOTCINTTMP)" \
"$(MAKELIB)" "$(CXX)" "$(CC)" "$(LD)" "$(OPT)" "$(CINTCXXFLAGS)" \
"$(CINTCFLAGS)" "$(LDFLAGS)" "$(SOFLAGS)" "$(SOEXT)" "$(COMPILER)"
......@@ -99,3 +99,11 @@ $(sort $(GQTMOCO) $(GQTO)): %.o: %.cxx
$(GQTMOC): $(GQTDIRS)/moc_%.cxx: $(GQTDIRI)/%.h
$(QTMOCEXE) $< -o $@
##### cintdlls ######
$(CINTDIRDLLS)/qtcint: $(CINTTMP) $(ROOTCINTTMPEXE) cint/lib/qt/qtcint.h cint/lib/qt/qtclasses.h cint/lib/qt/qtglobals.h cint/lib/qt/qtfunctions.h
@$(MAKECINTDLL) $(PLATFORM) qtcint qt "qtcint.h qtclasses.h qtglobals.h qtfunctions.h" "$(CINTTMP)" "$(ROOTCINTTMP)" \
"$(MAKELIB)" "$(CXX)" "$(CC)" "$(LD)" "$(OPT)" "$(CINTCXXFLAGS)" \
"$(CINTCFLAGS)" "$(LDFLAGS)" "$(SOFLAGS)" "$(SOEXT)" "$(COMPILER)"
......@@ -99,3 +99,12 @@ distclean-thread: clean-thread
@rm -f $(THREADDEP) $(THREADDS) $(THREADDH) $(THREADLIB)
distclean:: distclean-thread
##### cintdlls ######
ifneq ($(ARCH),win32)
$(CINTDIRDLLS)/pthread.dll: $(CINTTMP) $(ROOTCINTTMPEXE) cint/lib/pthread/pthd.h
@$(MAKECINTDLL) $(PLATFORM) pthread pthread pthd.h "$(CINTTMP)" "$(ROOTCINTTMP)" \
"$(MAKELIB)" "$(CXX)" "$(CC)" "$(LD)" "$(OPT)" "$(CINTCXXFLAGS)" \
"$(CINTCFLAGS)" "$(LDFLAGS)" "$(SOFLAGS)" "$(SOEXT)" "$(COMPILER)"
endif
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment