Skip to content

Commit

Permalink
Merge branch 'develop' for formal release v1.1.0
Browse files Browse the repository at this point in the history
  • Loading branch information
sorenhein committed Dec 1, 2014
2 parents 0e702d9 + 09d80cc commit 3ea90c8
Show file tree
Hide file tree
Showing 22 changed files with 4,210 additions and 3,371 deletions.
8 changes: 8 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
!.gitignore
*.o
*.a
*.dll
*.obj
*.exe
*.def
[Mm]akefile
3 changes: 3 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
[submodule "dds"]
path = dds
url = https://github.com/dds-bridge/dds
48 changes: 0 additions & 48 deletions Makefile

This file was deleted.

83 changes: 83 additions & 0 deletions Makefiles/Makefile_Mac_clang
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
# This is a Makefile for the ddd program,
# for Mac and the clang compiler.

# It does assume a Unix-like setup for some commands,
# but if you only want to call "make" with the default target,
# you should be OK.

# The test program itself does not use multi-threading,
# but the DLL might, depending on how it was compiled.

# If your compiler name is not given here, change it.
CC = g++

# Use this one to get single-threading
CC_FLAGS = -O3 -flto -mtune=generic

# These flags are not turned on by default, but DDS should pass them.
# Turn them on below.
WARN_FLAGS = \
-Wshadow \
-Wsign-conversion \
-pedantic -Wall -Wextra \
-Wcast-align -Wcast-qual \
-Wctor-dtor-privacy \
-Wdisabled-optimization \
-Winit-self \
-Wmissing-declarations \
-Wmissing-include-dirs \
-Wcomment \
-Wold-style-cast \
-Woverloaded-virtual \
-Wredundant-decls \
-Wsign-promo \
-Wstrict-overflow=1 \
-Wswitch-default -Wundef \
-Werror \
-Wno-unused \
-Wno-unknown-pragmas \
-Wno-long-long \
-Wno-format

# Here you can turn on warnings.
# CC_FULL_FLAGS = $(CC_FLAGS)
CC_FULL_FLAGS = $(CC_FLAGS) $(WARN_FLAGS)

DTEST = ddd

DLLBASE = dds
STATIC_LIB = lib$(DLLBASE).a

# This is in addition to $(DTEST).cpp
TEST_SOURCE_FILES = \
ddd.cpp \
defs.cpp \
giblib.cpp \
rng.cpp \
timer.cpp

LIB_FLAGS = -L. -l$(DLLBASE)

TEST_OBJ_FILES = $(subst .cpp,.o,$(TEST_SOURCE_FILES))

ddd: $(TEST_OBJ_FILES)
$(CC) $(CC_FULL_FLAGS) $(TEST_OBJ_FILES) $(LD_FLAGS) $(LIB_FLAGS) -o $(DTEST)

%.o: %.cpp
$(CC) $(CC_FULL_FLAGS) -c $< -o $*.o

depend:
makedepend -Y -- $(TEST_SOURCE_FILES) $(DTEST).cpp

clean:
rm -f $(TEST_OBJ_FILES) $(DTEST) $(STATIC_LIB)


# DO NOT DELETE

ddd.o: dds/include/dll.h portab_DDD.h giblib.h defs.h rng.h timer.h
defs.o: defs.h portab_DDD.h
giblib.o: giblib.h defs.h rng.h
rng.o: portab_DDD.h rng.h
timer.o: portab_DDD.h timer.h
ddd.o: dds/include/dll.h portab_DDD.h giblib.h defs.h rng.h timer.h
119 changes: 119 additions & 0 deletions Makefiles/Makefile_Mac_gcc
Original file line number Diff line number Diff line change
@@ -0,0 +1,119 @@
# This is a Makefile for the dtest test program,
# for Mac and the GNU g++ compiler.

# It does assume a Unix-like setup for some commands,
# but if you only want to call "make" with the default target,
# you should be OK.

# The test program itself does not use multi-threading,
# but the DLL might, depending on how it was compiled.

# The Makefile also allows an "un-official" and ugly, but
# sometimes practical compilation of a directly integrated
# executable (i.e. not using the DLL). For this the Makefile
# uses the source and object files in the src directory...
# Use "make itest" at your own risk.


# If your compiler name is not given here, change it.
CC = gcc-4.9

# Use this one to get single-threading
# CC_FLAGS = -O3 -flto -mtune=generic
# Use this one to get OpenMP multi-threading
CC_FLAGS = -O3 -flto -fopenmp -mtune=generic

# These flags are not turned on by default, but DDS should pass them.
# Turn them on below.
WARN_FLAGS = \
-Wshadow \
-Wsign-conversion \
-pedantic -Wall -Wextra \
-Wcast-align -Wcast-qual \
-Wctor-dtor-privacy \
-Wdisabled-optimization \
-Winit-self \
-Wlogical-op \
-Wmissing-declarations \
-Wmissing-include-dirs \
-Wnoexcept \
-Wold-style-cast \
-Woverloaded-virtual \
-Wredundant-decls \
-Wsign-promo \
-Wstrict-null-sentinel \
-Wstrict-overflow=1 \
-Wswitch-default -Wundef \
-Werror \
-Wno-unused \
-Wno-unknown-pragmas \
-Wno-long-long \
-Wno-format

# Here you can turn on warnings.
# CC_FULL_FLAGS = $(CC_FLAGS)
CC_FULL_FLAGS = $(CC_FLAGS) $(WARN_FLAGS)

DTEST = dtest
ITEST = itest

DLLBASE = dds
STATIC_LIB = lib$(DLLBASE).a
DLIB = $(DLLBASE).lib

# This is in addition to $(DTEST).cpp
DTEST_SOURCE_FILES = \
testcommon.cpp \
testStats.cpp

LIB_FLAGS = -L. -l$(DLLBASE)
LD_FLAGS = -lgomp -lstdc++

DTEST_OBJ_FILES = $(subst .cpp,.o,$(DTEST_SOURCE_FILES)) $(DTEST).o

# These are the files that we steal from the src directory.
SRC = ../src
STOLEN_SOURCE_FILES = \
$(SRC)/dds.cpp \
$(SRC)/ABsearch.cpp \
$(SRC)/ABstats.cpp \
$(SRC)/CalcTables.cpp \
$(SRC)/DealerPar.cpp \
$(SRC)/Init.cpp \
$(SRC)/LaterTricks.cpp \
$(SRC)/Moves.cpp \
$(SRC)/Par.cpp \
$(SRC)/PlayAnalyser.cpp \
$(SRC)/PBN.cpp \
$(SRC)/QuickTricks.cpp \
$(SRC)/Scheduler.cpp \
$(SRC)/SolveBoard.cpp \
$(SRC)/SolverIF.cpp \
$(SRC)/Stats.cpp \
$(SRC)/Timer.cpp \
$(SRC)/TransTable.cpp

ITEST_SOURCE_FILES = \
$(STOLEN_SOURCE_FILES) \
$(DTEST_SOURCE_FILES) \
itest.cpp

ITEST_OBJ_FILES = $(subst .cpp,.o,$(ITEST_SOURCE_FILES))

dtest: $(DTEST_OBJ_FILES)
$(CC) $(CC_FULL_FLAGS) $(DTEST_OBJ_FILES) $(LIB_FLAGS) $(LD_FLAGS) -o $(DTEST)

itest: $(ITEST_OBJ_FILES)
$(CC) $(CC_FULL_FLAGS) $(ITEST_OBJ_FILES) $(LD_FLAGS) -o $(ITEST)

%.o: %.cpp
$(CC) $(CC_FULL_FLAGS) -c $< -o $*.o

depend:
makedepend -Y -- $(ITEST_SOURCE_FILES) $(DTEST).cpp

clean:
rm -f $(ITEST_OBJ_FILES) $(DTEST).o $(DTEST) $(ITEST) $(STATIC_LIB)


# DO NOT DELETE
71 changes: 71 additions & 0 deletions Makefiles/Makefile_Visual
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
# This is a Makefile for the ddd test program,
# for Windows and the Microsoft Visual C++ compiler.

# It does assume a Unix-like setup for some commands,
# but if you only want to call "make" with the default target,
# you should be OK.

# The test program itself does not use multi-threading,
# but the DLL might, depending on how it was compiled.

# If your Microsoft compiler is not called cl, change it here.
CC = cl
CC_FLAGS = /O2 /Oi /Ot /Oy /GL
LINK_FLAGS = /LTCG

# These flags are not turned on by default, but DDS should pass them.
# Turn them on below.
WARN_FLAGS = \
/Wall \
/wd4127 \
/wd4514 \
/wd4555 \
/wd4668 \
/wd4711 \
/wd4820 \
/wd4996 \
/WX

# Here you can turn on warnings.
# CC_FULL_FLAGS = $(CC_FLAGS)
CC_FULL_FLAGS = $(CC_FLAGS) $(WARN_FLAGS)

DTEST = ddd

DLLBASE = dds
DLL = $(DLLBASE).dll
DLIB = $(DLLBASE).lib
EXPORTER = Exports.def

TEST_SOURCE_FILES = \
ddd.cpp \
defs.cpp \
giblib.cpp \
rng.cpp \
timer.cpp


TEST_OBJ_FILES = $(subst .cpp,.obj,$(TEST_SOURCE_FILES))


ddd: $(TEST_OBJ_FILES)
link $(TEST_OBJ_FILES) $(DLIB) /LTCG /out:$(DTEST).exe

%.obj: %.cpp
$(CC) $(CC_FULL_FLAGS) /c $< /Fo$*.obj

depend:
makedepend -Y -o.obj -- $(TEST_SOURCE_FILES) $(DTEST).cpp

clean:
rm -f $(TEST_OBJ_FILES) $(DTEST).{obj,exe} $(DLL) $(DLIB)


# DO NOT DELETE

ddd.obj: dds/include/dll.h portab_DDD.h giblib.h defs.h rng.h timer.h
defs.obj: defs.h portab_DDD.h
giblib.obj: giblib.h defs.h rng.h
rng.obj: portab_DDD.h rng.h
timer.obj: portab_DDD.h timer.h
ddd.obj: dds/include/dll.h portab_DDD.h giblib.h defs.h rng.h timer.h
Loading

0 comments on commit 3ea90c8

Please sign in to comment.