Commit 29377b85 authored by Erwan Jahier's avatar Erwan Jahier

lurette unstable.4 Wed, 28 Feb 2007 11:28:50 +0100 by jahier

Parent-Version:      unstable.3
Version-Log:         empty
Project-Description: Lurette
parent 1f7cfe34
This diff is collapsed.
......@@ -45,6 +45,14 @@ ifeq ($(HOST_TYPE),sparc-sun)
OCAMLC = ocamlc
CPP_COMPILER=g++
CPP_LINKER=g++
else
ifeq ($(HOST_TYPE),mac)
OCAML_LIB=/private/var/automount/import/macos/ocaml/3.09.3/lib/ocaml
OCAMLOPT =ocamlopt -cc g++
OCAMLC = ocamlc
CPP_COMPILER=g++
OCAMLFLAGS= -cc g++
CPP_LINKER=g++
else
OCAML_LIB=ocaml
OCAMLOPT =ocamlopt
......@@ -53,10 +61,11 @@ else
CPP_LINKER=g++
endif
endif
endif
#OCAMLOPT = ocamlopt
CPP_FLAGS=-g g-O0 -fno-operator-names -I$(OCAML_LIB)
CPP_FLAGS=-g -O0 -fno-operator-names
LFLAGS = -cclib -lstdc++
......
......@@ -12,11 +12,53 @@
#ifdef DEBUG_GBDD
void CHECK_GBDD(int verb){
int vm;
int vm = 0;
if(verb) vm = GBdd::set_verbose_mode();
GBdd::manager.check_alive_list();
if(verb) GBdd::set_verbose_mode(vm);
}
void DUMP_BDD(GBdd* b){
if(*b == true_bdd()){
printf("true_bdd\n");
} else if(*b == false_bdd()){
printf("false_bdd\n");
} else if(b->is_leaf()){
printf("leaf{val=0x%X}\n", (unsigned int)b->leaf_info());
} else if(b->is_bool()){
GBddValue hv = b->high_part().value();
GBddValue lv = b->low_part().value();
printf("node{(%d)?", b->root_var());
if(hv == GBdd::true_value()){
printf(" 1 : ");
} else if(hv == GBdd::false_value()){
printf(" 0 : ");
} else {
printf(" %c 0x%x : ",
GBdd::sign(hv)? '-' : '+',
(unsigned int)GBdd::node(hv)
);
}
if(lv == GBdd::true_value()){
printf(" 1 }\n");
} else if(lv == GBdd::false_value()){
printf(" 0 }\n");
} else {
printf(" %c 0x%x }\n",
GBdd::sign(lv)? '-' : '+',
(unsigned int)GBdd::node(lv)
);
}
} else {
printf("generalized bdd node\n");
}
}
void DUMP_LIST(GBddList* b){
GBddList* l;
for(l = b; l; l = l->tail()){
DUMP_BDD(&(l->head()));
}
}
#endif
static void default_exit(){
......@@ -265,6 +307,22 @@ int GBdd::size() const {
return GBdd::node(value())->size(mark);
}
int GBdd::unsigned_size() const {
int mark = get_mark_key();
return rec_unsigned_size(mark);
}
int GBdd::rec_unsigned_size(int mark) const {
if(is_leaf()) return 0;
if(get_mark(mark)) return 0; //dj compt
put_mark(mark, (void*)1);
return (
1 +
low_part().rec_unsigned_size(mark) +
high_part().rec_unsigned_size(mark)
);
}
int GBdd::tree_size() const {
if(is_leaf()) return 0;
return GBdd::node(value())->tree_size();
......@@ -2111,7 +2169,7 @@ char* GBdd::trueop = "true";
char* GBdd::falseop = "false";
char* GBdd::notop = "!";
char* GBdd::andop = ".";
char* GBdd::orop = " +";
char* GBdd::orop = " +\n";
char* GBdd::idyop = "";
char* GBdd::openpar = "";
char* GBdd::closepar = "";
......
......@@ -22,6 +22,9 @@ simple !
const char* GBdd::version() (méthode statique)
1.1
Compatibilité avec g++ > 4
1.0 (novembre 2001) :
- gestion des versions,
- class GBddList en standard (voir 10)
......@@ -243,9 +246,12 @@ T
GBdd head()
GBddList* tail()
Taille en noeuds, en tenant compte du partage :
Taille en noeuds (signed-bdd)
int size();
Taille en sous-fonctions (partage, mais pas signe).
int unsigned_size();
Modif en place (pas beau) :
void set_head(const GBdd& v)
----------------------------------------------------------------------
......@@ -319,7 +325,11 @@ A6) ``taille'' d'un bdd:
int GBdd::size(); renvoie la ``taille'' de la representation interne
du bdd. Elle est exprimee en nombre de noeud et tiend compte du partage.
int GBdd::tree_size(); renvoie la ``taille'' de l'arbre de Shanon
int GBdd::unsigned_size(); renvoie la ``taille'' du graphe de Shannon
en nombre de noeuds binaires : i.e. ne tiens pas compte du
signe.
int GBdd::tree_size(); renvoie la ``taille'' de l'arbre de Shannon
equivalent au bdd NE TIEND PAS COMPTE DU PARTAGE !!!!
A7) Decalage des arguments
......@@ -349,12 +359,19 @@ typedef void (*void2void)() ;
/* Pour faire des operations bit a bit sur les GBddValue */
typedef unsigned long int GBddValue2BitString;
class GBdd {
friend class GBddList;
friend class GBddNode;
friend class GBddManager;
friend void GBddPrintLeafDflt(FILE* f, void* v);
friend void INIT_GBDD_GLOBALS();
#ifdef DEBUG_GBDD
friend void CHECK_GBDD(int verb = 0);
friend void DUMP_BDD(GBdd* b);
friend void DUMP_LIST(GBddList* b);
#endif
GBddValue it;
GBdd* next_alive;
......@@ -418,13 +435,19 @@ protected :
static int smooth_op_var;
GBdd rec_smooth(int x) const;
public :
static GBddManager manager;
static GBddValue true_value();
static GBddValue false_value();
/* Implementation de unsigned_size */
int rec_unsigned_size(int mark) const;
public :
//POUR LES STATS :
static int total_nb_nodes();
static const char* version(){ return "1.0"; }
static const char* version(){ return "1.1"; }
/* Initialisation du module :
L'initialisation n'est pas necessaire : il y une valeur
......@@ -542,8 +565,12 @@ public :
int max_var() const; //La plus grande var de this
int nb_vars() const; //Le nombre de vars du support
int size() const; //Le nombre de noeuds dans this
int tree_size() const; //Le nombre de noeuds dans l'arbre equiv a this
//Le nombre de noeuds dans this
int size() const;
//Le nombre de noeuds dans le bdd non-signe equiv a this
int unsigned_size() const;
//Le nombre de noeuds dans l'arbre equiv a this
int tree_size() const;
GBdd shift(int n) const; // decale les arguments de +n
GBdd rename(int (*f)(int)) const; // renomme les arguments
......@@ -578,10 +605,14 @@ public :
friend GBdd or(const GBdd& t1, const GBdd& t2);
friend GBdd impl(const GBdd& t1, const GBdd& t2);
friend GBdd xor(const GBdd& t1, const GBdd& t2);
inline friend GBdd eq(const GBdd& t1, const GBdd& t2)
{ return not(xor(t1, t2)); };
inline friend GBdd neq(const GBdd& t1, const GBdd& t2)
{ return xor(t1, t2); };
//inline
friend GBdd eq(const GBdd& t1, const GBdd& t2)
//{ return not(xor(t1, t2)); }
;
//inline
friend GBdd neq(const GBdd& t1, const GBdd& t2)
//{ return xor(t1, t2); }
;
friend GBdd constrain(const GBdd& f, const GBdd& c);
friend GBdd restrict(const GBdd& f, const GBdd& c);
......@@ -634,6 +665,47 @@ public :
void print_mons() const;
void print_mons_ln() const;
};
/*---------------------------------------------------------------
Version 1.1 => à partir de g++ > 4
les fonctions friend doivent être re-déclarées en dehors
de la classe pour être référencées comme exporté dans le .o
----------------------------------------------------------------*/
const GBdd& true_bdd();
const GBdd& false_bdd();
GBdd null_bdd(); //Un GBdd non initialise
GBdd leaf(void* i); // Feuille decoree avec "i"
GBdd idy(int i); // Fonction identite sur la ieme var
GBdd nidy(int i); // Fonction complement sur la ieme var
int compare(const GBdd& t1, const GBdd& t2); // retourne 0 SSI égalité
//Comparaisons
int operator==(const GBdd& t1, const GBdd& t2);
int operator!=(const GBdd& t1, const GBdd& t2);
int test_impl(const GBdd& t1, const GBdd& t2);
int test_and(const GBdd& t1, const GBdd& t2);
/* if .. then .. else : le premier argument doit etre pur booleen */
GBdd ite(const GBdd& c, const GBdd& t1, const GBdd& t2);
/* .... ou un entier : */
GBdd ite(int v, const GBdd& t1, const GBdd& t2);
GBdd not(const GBdd& t);
GBdd and(const GBdd& t1, const GBdd& t2);
GBdd or(const GBdd& t1, const GBdd& t2);
GBdd impl(const GBdd& t1, const GBdd& t2);
GBdd xor(const GBdd& t1, const GBdd& t2);
inline GBdd eq(const GBdd& t1, const GBdd& t2) { return not(xor(t1, t2)); };
inline GBdd neq(const GBdd& t1, const GBdd& t2) { return xor(t1, t2); };
GBdd constrain(const GBdd& f, const GBdd& c);
GBdd restrict(const GBdd& f, const GBdd& c);
GBdd constrain_bu(const GBdd& f, const GBdd& c);
GBdd constrain_td(const GBdd& f, const GBdd& c);
GBdd forall(int x, const GBdd& t);
GBdd exist(int x, const GBdd& t);
GBdd exist_x2max(int x, const GBdd& t);
GBdd forall_x2max(int x, const GBdd& t);
GBdd exist(const GBdd& vars, const GBdd& f);
GBdd forall(const GBdd& vars, const GBdd& f);
/*---------------------------------------------------------------
Classe GBddList
-----------------------------------------------------------------
......@@ -966,9 +1038,18 @@ public :
/* pretty print des bdd's */
void print_ite(FILE* f, GBddValue b, void (*ppl)(FILE*,void*), int t);
void print(FILE* , GBddValue , void (*ppl)(FILE*,void*), char*, int, int);
};
inline GBddValue GBdd::true_value(){
return manager.internal_true;
}
inline GBddValue GBdd::false_value(){
return manager.internal_false;
}
#ifdef DEBUG_GBDD
extern void CHECK_GBDD(int verb = 0);
extern void CHECK_GBDD(int verb);
extern void DUMP_BDD(GBdd* b);
extern void DUMP_LIST(GBddList* b);
#endif
......@@ -40,7 +40,7 @@ if test $GO = yes; then
cd install
rm -f config.cache
echo "./configure --prefix $INSTALL_DIR"
./configure --prefix $INSTALL_DIR
./configure --prefix "$INSTALL_DIR"
else
echo "quitting Lurette installation procedure..."
fi
......@@ -183,8 +183,6 @@ apparaissent les monomes. Ca fout les boules...
* Finir lucky2lus
* Finir le compilo lutin de Yvan
* Les alias doivent ils etre dans le .rif au meme titre
que les autres variables locales -> ajouter une option !
......
VERSION_DATE=20-01-06
VERSION=1.42
VERSION_DATE=01-02-07
VERSION=unstable.3
export VERSION
export VERSION_DATE
......@@ -4,18 +4,20 @@
test:
rm -f */.lurette_rc */*/.lurette_rc */*/*/.lurette_rc
cd lucky/external_code && make test;
cd lucky/C && make test ;
cd lucky/lustre && make test ;
cd lucky/other && make test ;
cd lucky/tut-examples/ && make test;
cd xlurette/Gyro && make test ;
cd xlurette/fault-tolerant-heater/ && make test ;
cd xlurette/tram/ && make test ;
cd xlurette/heater/ && make test ;
cd xlurette/Sildex/ && make test ;
cd luckyDraw/ocaml/ && make test ;
cd luckyDraw/c/ && make test ;
cd lucky/C && make test ;
cd lucky/lustre && make test ;
ifneq ($(HOST_TYPE),mac)
cd xlurette/Sildex/ && make test ;
cd ocaml/crazy-rabbit/ && make test ;
endif
# cd rml/ && make test ;
ifeq ($(HOST_TYPE),sparc-sun)
cd xlurette/Scade-sparc && make test ;
......
CC = gcc
CC = gcc -g
LINKER= gcc -g
EXE=
CFLAGS = \
-L../../lib \
-I../../include \
-Winline -Wimplicit-function-declaration
-I../../include
LIBS = -lluc4c_nc -llucky_nc -lgmp -lm -ldl -lstdc++
LUC2C=../../bin/luc2c
ifeq ($(HOST_TYPE),mac)
LINKER=g++ -g
LIBS = -lluc4c_nc -llucky_nc -lgmp -lm -ldl
endif
ifeq ($(HOST_TYPE),win32)
EXE=.exe
CFLAGS = \
......@@ -34,7 +38,7 @@ call_foo.o: call_foo.c
$(CC) -c $(CFLAGS) call_foo.c
foo: foo.o call_foo.o
$(CC) $(CFLAGS) -o $@ $^ $(LIBS)
$(LINKER) $(CFLAGS) -o $@ $^ $(LIBS)
################################################################
......@@ -42,7 +46,7 @@ foo: foo.o call_foo.o
clean:
rm -f run *.o *~ foo foo.h foo.c *.gp *.plot *.rif
test : foo$(EXE)
test : clean foo$(EXE)
ifeq ($(HOST_TYPE),win32)
foo$(EXE)
else
......
......@@ -17,6 +17,7 @@ LD=gcc
CC=gcc
MKDLLFLAGS=
LFLAGS=
SOFLAGS=-shared
#settings for WIN32
ifeq ($(HOSTTYPE),win32)
......@@ -26,6 +27,13 @@ ifeq ($(HOSTTYPE),win32)
CC=gcc -DWIN32 -mno-cygwin
MKDLLFLAGS=-Wl,--out-implib,$(OBJDIR)/$(MAIN).a
LFLAGS=-lm
else
ifeq ($(HOSTTYPE),mac)
LD=g++
CC=gcc
SOFLAGS = -dynamiclib
LDMAC=-DMAC
endif
endif
all: $(OBJDIR)/$(MAIN).$(DLEXT)
......@@ -34,7 +42,7 @@ $(OBJDIR):
mkdir $(OBJDIR)
$(OBJDIR)/$(MAIN).$(DLEXT) : $(OBJDIR)/$(MAIN).o
$(LD) $(LFLAGS) -shared -o $(OBJDIR)/$(MAIN).$(DLEXT) \
$(LD) $(LFLAGS) $(SOFLAGS) -o $(OBJDIR)/$(MAIN).$(DLEXT) \
$(OBJDIR)/$(MAIN).o \
$(MKDLLFLAGS)
......@@ -42,10 +50,13 @@ $(OBJDIR)/%.o : $(OBJDIR) $(SRCDIR)/%.c
$(CC) -c $(CFLAGS) $(SRCDIR)/$*.c -o $(OBJDIR)/$*.o
test:$(OBJDIR)/$(MAIN).$(DLEXT)
call_external_c_code.luc_pp:call_external_c_code.luc
../../../bin/lucky_cpp call_external_c_code.luc call_external_c_code.luc_pp $(LDMAC)
test: clean $(OBJDIR)/$(MAIN).$(DLEXT) call_external_c_code.luc_pp
rm -f test.rif0 && \
../../../bin/lucky$(EXE) -l 10 $(OPT) -seed 834966010 \
call_external_c_code.luc | sed -e "s/^M//" | grep -v "This is Lucky Version" > test.rif
../../../bin/lucky$(EXE) -l 10 $(OPT) -seed 834966010 \
call_external_c_code.luc_pp | sed -e "s/^M//" | grep -v "This is Lucky Version" > test.rif
rm -f test.res && diff -u -i test.rif.exp test.rif > test.res
[ ! -s test.res ] && make clean
......@@ -54,7 +65,7 @@ utest:
cp test.rif test.rif.exp
clean:
rm -rf $(OBJDIR) *.rif *.rif0
rm -rf $(OBJDIR) *.rif *.rif0 call_external_c_code.luc_pp
......@@ -4,7 +4,11 @@
libraries {
foo_lib = "./obj/foo.so";
math_lib = "libm.so" -- the standard C math lib (which path ougth to be in LD_LIBRARY_PATH)
#ifdef MAC
math_lib = "libm.dylib" -- the standard C math lib (which path ougth to be in LD_LIBRARY_PATH)
#else
math_lib = "libm.so"
#endif
}
functions {
......
CC = gcc -g
LD = gcc -g
EXE=
CFLAGS = \
-L../../lib \
-I../../include \
-Winline -Wimplicit-function-declaration
-L../../../lib \
-I../../../include
LIBS = -lluc4c_nc -llucky_nc -lgmp -lm -ldl -lstdc++
LUC2C=../../bin/luc2c
LUC2C=../../../bin/luc2c
ifeq ($(HOST_TYPE),win32)
EXE=.exe
......@@ -19,8 +19,10 @@ ifeq ($(HOST_TYPE),win32)
LIBS = -lluc4c_nc -llucky_nc -lgmp -lws2_32 -lm -lstdc++
LUC2C=../../../win32/bin/luc2c$(EXE)
endif
ifeq ($(HOST_TYPE),mac)
LD = g++ -g
LIBS = -lluc4c_nc -llucky_nc -lgmp -lm -ldl
endif
################################################################
# Calling lucky from Lustre
......@@ -49,7 +51,7 @@ call_foo_ext_func.o: call_foo_ext_func.c
$(CC) -c $(CFLAGS) call_foo_ext_func.c
foo: foo.o call_foo.o call_foo_ext_func.o call_foo_loop.o
$(CC) $(CFLAGS) -o $@ $^ $(LIBS)
$(LD) $(CFLAGS) -o $@ $^ $(LIBS)
......@@ -58,7 +60,7 @@ foo: foo.o call_foo.o call_foo_ext_func.o call_foo_loop.o
clean:
rm -f run *.o *~ call_foo_ext* call_foo.c call_foo.h call_foo_loop.c call_foo_loop.h foo.h foo.c *.gp *.plot *.rif *.ec foo #*
test : foo
test : clean foo
ifeq ($(HOST_TYPE),win32)
foo$(EXE)
else
......
......@@ -46,7 +46,7 @@ M4 = m4
# C part
#---------------------------------------
CC = gcc
CC = gcc
ICFLAGS = \
-I$(LUCKYDRAW_LIBDIR) \
-I$(CAMLLIBDIR) \
......@@ -67,7 +67,7 @@ all: essai
#---------------------------------------
essai: essai.o luckyDrawC_stubs.o luckyDrawC.o
$(CC) $(CFLAGS) -o $@ $^ -L$(LUCKYDRAW_LIBDIR) -lluckyDraw_stubs -lluckyDraw -lbdd_stubs -lpolkag_caml -lpolkag -lgmp -lunix -lstr -lcamlidl -L$(CAMLLIBDIR) -lasmrun -lm -ldl -lstdc++
g++ $(CFLAGS) -o $@ $^ -L$(LUCKYDRAW_LIBDIR) -lluckyDraw_stubs -lluckyDraw -lbdd_stubs -lpolkag_caml -lpolkag -lgmp -lunix -lstr -lcamlidl -L$(CAMLLIBDIR) -lasmrun -lm -ldl
essai.o: essai.c
$(CC) $(CFLAGS) -c -o $@ $<
......
......@@ -5,13 +5,17 @@ LUCKYDRAW_INSTALL_DIR=../../../lib
CLIBS=-cclib -lluckyDraw
MLLIBS= str.cmxa unix.cmxa bdd.cmxa polka.cmxa luckyDraw.cmxa
$(MAIN): $(MAIN).ml
ocamlopt -o $(MAIN) -I $(LUCKYDRAW_INSTALL_DIR) $(CLIBS) $(MLLIBS) $(MAIN).ml
WIN32_OCAMLOPT_FLAGS =
ifeq ($(HOST_TYPE),win32)
WIN32_OCAMLOPT_FLAGS = -cclib -mno-cygwin -cclib -lole32
endif
$(MAIN): $(MAIN).ml
ocamlopt $(WIN32_OCAMLOPT_FLAGS) -cc g++ -cclib -lgmp -o $(MAIN) -I $(LUCKYDRAW_INSTALL_DIR) $(CLIBS) $(MLLIBS) $(MAIN).ml
make test: clean $(MAIN)
./$(MAIN) | grep -v "The random engine is initialized with the seed" > $(MAIN).out && \
rm -f test.res && diff -u -i $(MAIN).out.exp $(MAIN).out \
rm -f test.res && diff --strip-trailing-cr -u -i $(MAIN).out.exp $(MAIN).out \
> test.res
[ ! -s test.res ] && make clean
......
x=11.7731842666
x=15.3993812792
x=11.6380492025
x=15.3806604998
x=17.4647998347
x=13.1055982531
x=14.4938445659
x=14.9698077408
x=19.694944039
x=13.6712249348
x=10.4404320878
x=17.078487968
x=19.5687136629
x=17.5594509133
x=18.1920006604
x=11.7047030534
x=11.5249154524
x=18.2803503743
x=16.9628921217
x=16.6986337542
x=10.01
x=10.01
Z=9411 z=-60 y=50 x=60
Z=6254 z=99 y=99 x=-148
Z=-10000 y=99 z=99 x=-148
Z=-10000 y=99 z=99 x=-148
Z=t y=f x=f
x=11.7731842666
x=15.3993812792
x=11.6380492025
x=15.3806604998
x=17.4647998347
x=13.1055982531
x=14.4938445659
x=14.9698077408
x=19.694944039
x=13.6712249348
x=10.4404320878
x=17.078487968
x=19.5687136629
x=17.5594509133
x=18.1920006604
x=11.7047030534
x=11.5249154524
x=18.2803503743
x=16.9628921217
x=16.6986337542
x=10.01
x=10.01
Z=9411 z=-60 y=50 x=60
Z=6254 z=99 y=99 x=-148
Z=-10000 y=99 z=99 x=-148
Z=-10000 y=99 z=99 x=-148
Z=t y=f x=f
......@@ -13,10 +13,10 @@ MAIN=rabbit
$(MAIN).opt:$(MAIN).ml
ocamlopt.opt $(LUC4OCAML_INSTALL_DIR) graphics.cmxa $(CMXA_LIB) $(MAIN).ml -o $(MAIN).opt
ocamlopt.opt -cc g++ -cclib -lgmp $(LUC4OCAML_INSTALL_DIR) graphics.cmxa $(CMXA_LIB) $(MAIN).ml -o $(MAIN).opt
$(MAIN):$(MAIN).ml
ocamlopt.opt $(LUC4OCAML_INSTALL_DIR) graphics.cma $(CMA_LIB) $(MAIN).ml -o $(MAIN)
ocamlc.opt $(LUC4OCAML_INSTALL_DIR) graphics.cma $(CMA_LIB) $(MAIN).ml -o $(MAIN)
demo: $(MAIN).opt
......@@ -37,7 +37,7 @@ lut: moving-obstacle3.lut
lutin -o moving-obstacle3-lut.luc moving-obstacle3.lut -main moving_obstacle
lutin -o rabbit-speed-lut.luc rabbit-speed.lut -main
test: $(MAIN).opt
test: clean $(MAIN).opt
./$(MAIN).opt 1000 0.0 test | grep -v "The random engine is initialized with the seed"
rm -f test.res && diff -u -i $(MAIN).out.exp $(MAIN).out > test.res && \
[ ! -s test.res ] && make clean
......
LURETTETOP=../../bin/lurettetop
LURETTETOP=lurettetop
LURETTETOP=../../../bin/lurettetop
......
LURETTETOP=../../bin/lurettetop
CC=g++
test1:
rm -f test1.rif0 .lurette_rc && \
$(LURETTETOP) --sut tramway.lus \
......
......@@ -18,7 +18,7 @@
ifndef CC
CC := gcc -02 @NOCYGWIN@
endif
LINKER=@LINKER@
ifndef DEBUG
DEBUG :=
......@@ -36,7 +36,7 @@ INCLUDEDIRS = -I$(USER_TESTING_DIR) \
LIBDIRS = -L$(LURETTE_TMP_DIR) $(EXTRA_LIBDIRS) -L@LURETTEPATH@/lib
LIBS = -lgmp @WIN32LIB@ -lm @LDL@ -lstdc++ $(EXTRA_LIBS)
LIBS = -lgmp @WIN32LIB@ -lm @LDL@ $(EXTRA_LIBS)
......@@ -64,7 +64,8 @@ dc:
-lnsl -lsocket -llurette_dc -llucky_dc $(LIBS)
nc:
$(CC) -o lurette $(LIBDIRS) $(INCLUDEDIRS) $(SOURCES_C) \
$(CC) -c $(LIBDIRS) $(INCLUDEDIRS) $(SOURCES_C)
$(LINKER) -o lurette $(LIBDIRS) $(INCLUDEDIRS) *.o \
-llurette_nc -llucky_nc $(LIBS)
......@@ -87,7 +88,7 @@ SCADE_INCLUDE_DIRS= $(INCLUDEDIRS) \
SCADE_OS_NAME=@SCADE_OS_NAME@
LINKER= cc
# LINKER= cc
STRIP= strip
CFLAGS= -O2 -DSIM #-xO3 -Xc
CFLAGS_0= -O -DSIM #-Xc
......
......@@ -9,13 +9,6 @@ unset LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES LC_MONETARY LC_NUMERIC LC_TIME
if test $prefix = NONE; then
LURETTEPATH=`pwd`/..
else
LURETTEPATH=$prefix
fi
AC_SUBST(LURETTEPATH)
# Determine the system type
......@@ -38,11 +31,24 @@ case `./config.guess` in
esac;;
sparc-sun-solaris2.*) HOST_TYPE=sparc-sun ;;
i*86-*-cygwin) HOST_TYPE=win32 ;;
i*86-apple*) HOST_TYPE=mac ;;
*) AC_MSG_ERROR(Unsupported architecture);;
esac
AC_SUBST(HOST_TYPE)
#--------------------------------------------------------------
if test $prefix = NONE; then
LURETTEPATH=`pwd`/..
else
LURETTEPATH="$prefix"
fi
AC_SUBST(LURETTEPATH)
echo "LURETTEPATH=$LURETTEPATH"
#--------------------------------------------------------------
#--------------------------------------------------------------
# Get the bin dir name used by scade (copied from scade_cg)
......@@ -248,31 +254,43 @@ AC_SUBST(PIXMAP_DIR)
case "$HOST_TYPE" in
sparc-sun)
LIB_GC=$SCADE_INSTALL_DIR/lib/$SCADE_OS_NAME/libgc.so
LDL="-lsocket -lnsl -ldl"
LDL="-lsocket -lnsl -ldl -lstdc++"
NOCYGWIN=
WIN32LIB=
LINKER=gcc
;;
cygwin)
LIB_GC=$SCADE_INSTALL_DIR/bin/gc.dll