From b8be38ce8b2a146e48cbadaddef3cba4475c03e4 Mon Sep 17 00:00:00 2001 From: don Date: Fri, 16 Dec 2011 21:51:42 -0600 Subject: improve OPENSCAD_LIBRARIES for freebsd diff --git a/openscad.pro b/openscad.pro index ac4200e..60870be 100644 --- a/openscad.pro +++ b/openscad.pro @@ -40,8 +40,8 @@ INCLUDEPATH += src # Used when manually installing 3rd party libraries OPENSCAD_LIBDIR = $$(OPENSCAD_LIBRARIES) !isEmpty(OPENSCAD_LIBDIR) { - QMAKE_INCDIR += $$OPENSCAD_LIBDIR/include - QMAKE_LIBDIR += $$OPENSCAD_LIBDIR/lib + INCLUDEPATH = $$OPENSCAD_LIBDIR/include $$INCLUDEPATH + QMAKE_LIBDIR = $$OPENSCAD_LIBDIR/lib $$QMAKE_LIBDIR } else { macx { -- cgit v0.10.1 From b6a01a76b98377983a562b36a757483a01d3cfa2 Mon Sep 17 00:00:00 2001 From: don bright Date: Fri, 16 Dec 2011 17:33:31 -0800 Subject: fix compilation on Fedora: boost, flex, and OPENSCAD_LIBRARIES diff --git a/boost.pri b/boost.pri index 46cbb83..168e64c 100644 --- a/boost.pri +++ b/boost.pri @@ -9,18 +9,34 @@ boost { win32:QMAKE_LIBDIR += -L$$BOOST_DIR/lib } + ORIGINAL_LIBS_VALUE = $$LIBS + + win32 { + LIBS += -llibboost_thread-vc90-mt-s-1_46_1 -llibboost_program_options-vc90-mt-s-1_46_1 + } + + exists(/usr/lib64/libboost*thread-mt*) { + LIBS += -lboost_thread-mt -lboost_program_options-mt + BOOST_IS_MT = true + } + + exists(/usr/lib/libboost*thread-mt*) { + LIBS *= -lboost_thread-mt -lboost_program_options-mt + BOOST_IS_MT = true + } + + isEmpty(BOOST_IS_MT) { + unix|macx { + LIBS += -lboost_thread -lboost_program_options + } + } + CONFIG(mingw-cross-env) { + LIBS = $$ORIGINAL_LIBS_VALUE # erase, start over DEFINES += BOOST_STATIC DEFINES += BOOST_THREAD_USE_LIB DEFINES += Boost_USE_STATIC_LIBS LIBS += -lboost_thread_win32-mt -lboost_program_options-mt - } else { - win32 { - LIBS += -llibboost_thread-vc90-mt-s-1_46_1 -llibboost_program_options-vc90-mt-s-1_46_1 - } else { - # some platforms have only '-mt' versions. uncomment if needed. - # LIBS += -lboost_thread-mt -lboost_program_options-mt - LIBS += -lboost_thread -lboost_program_options - } - } + } + } diff --git a/flex.pri b/flex.pri index ef0b742..ce78b98 100644 --- a/flex.pri +++ b/flex.pri @@ -10,6 +10,16 @@ win32 { } unix:freebsd-g++ { + # on bsd /usr/bin/bison is outdated, dont use it QMAKE_LEX = /usr/local/bin/flex QMAKE_YACC = /usr/local/bin/bison } + +unix:linux* { + exists(/usr/bin/flex) { + QMAKE_LEX = /usr/bin/flex + } + exists(/usr/bin/bison) { + QMAKE_YACC = /usr/bin/bison + } +} diff --git a/openscad.pro b/openscad.pro index 60870be..80687f0 100644 --- a/openscad.pro +++ b/openscad.pro @@ -40,8 +40,8 @@ INCLUDEPATH += src # Used when manually installing 3rd party libraries OPENSCAD_LIBDIR = $$(OPENSCAD_LIBRARIES) !isEmpty(OPENSCAD_LIBDIR) { - INCLUDEPATH = $$OPENSCAD_LIBDIR/include $$INCLUDEPATH - QMAKE_LIBDIR = $$OPENSCAD_LIBDIR/lib $$QMAKE_LIBDIR + QMAKE_INCDIR_QT = $$OPENSCAD_LIBDIR/include $$QMAKE_INCDIR_QT + QMAKE_LIBDIR_QT = $$OPENSCAD_LIBDIR/lib $$QMAKE_LIBDIR_QT } else { macx { @@ -77,6 +77,10 @@ win32 { CONFIG += qt QT += opengl +linux*:exists(/usr/lib64/libGLU*)|linux*:exists(/usr/lib/libGLU*) { + LIBS += -lGLU # Fedora + DSO +} + # Application configuration macx:CONFIG += mdi CONFIG += cgal -- cgit v0.10.1 From a7ebe941998768fe1015fc1b6d528690bdf19701 Mon Sep 17 00:00:00 2001 From: Don Bright Date: Fri, 16 Dec 2011 21:03:10 -0600 Subject: fix qmake under mingw-cross-compile diff --git a/openscad.pro b/openscad.pro index 160eaa1..e38251a 100644 --- a/openscad.pro +++ b/openscad.pro @@ -77,8 +77,13 @@ win32 { CONFIG += qt QT += opengl +# Fedora Linux + DSO fix linux*:exists(/usr/lib64/libGLU*)|linux*:exists(/usr/lib/libGLU*) { - LIBS += -lGLU # Fedora + DSO + LIBS += -lGLU +} + +CONFIG(mingw-cross-env) { + include(mingw-cross-env.pri) } # Application configuration diff --git a/win32.pri b/win32.pri index 7a020d7..bb41b09 100644 --- a/win32.pri +++ b/win32.pri @@ -1,6 +1,6 @@ -# win32-specific general settings +# win32-specific MSVC compiler general settings -win32 { +win32*msvc* { #configure additional directories INCLUDEPATH += $$(MPIRDIR) INCLUDEPATH += $$(MPFRDIR) @@ -17,4 +17,4 @@ win32 { # lexer uses strdup() & other POSIX stuff QMAKE_CXXFLAGS += -D_CRT_NONSTDC_NO_DEPRECATE -} \ No newline at end of file +} -- cgit v0.10.1 From 609e59d4ccd73ec8e9d6c3e691352623d58d8cba Mon Sep 17 00:00:00 2001 From: don Date: Sat, 17 Dec 2011 01:56:24 -0600 Subject: fix OPENSCAD_LIBRARIES on FreeBSD diff --git a/openscad.pro b/openscad.pro index 80687f0..160eaa1 100644 --- a/openscad.pro +++ b/openscad.pro @@ -41,7 +41,7 @@ INCLUDEPATH += src OPENSCAD_LIBDIR = $$(OPENSCAD_LIBRARIES) !isEmpty(OPENSCAD_LIBDIR) { QMAKE_INCDIR_QT = $$OPENSCAD_LIBDIR/include $$QMAKE_INCDIR_QT - QMAKE_LIBDIR_QT = $$OPENSCAD_LIBDIR/lib $$QMAKE_LIBDIR_QT + QMAKE_LIBDIR = $$OPENSCAD_LIBDIR/lib $$QMAKE_LIBDIR } else { macx { -- cgit v0.10.1 From 6bccf5be43af0947103cdd6ebac5a30615f55c84 Mon Sep 17 00:00:00 2001 From: Don Bright Date: Fri, 16 Dec 2011 21:51:07 -0600 Subject: make EIGEN2DIR prepend to -I not append. make boost MT detection use BOOSTDIR diff --git a/boost.pri b/boost.pri index 168e64c..42fe529 100644 --- a/boost.pri +++ b/boost.pri @@ -9,34 +9,32 @@ boost { win32:QMAKE_LIBDIR += -L$$BOOST_DIR/lib } - ORIGINAL_LIBS_VALUE = $$LIBS - - win32 { + win32:!CONFIG(mingw-cross-env) { LIBS += -llibboost_thread-vc90-mt-s-1_46_1 -llibboost_program_options-vc90-mt-s-1_46_1 - } - - exists(/usr/lib64/libboost*thread-mt*) { - LIBS += -lboost_thread-mt -lboost_program_options-mt - BOOST_IS_MT = true - } - - exists(/usr/lib/libboost*thread-mt*) { - LIBS *= -lboost_thread-mt -lboost_program_options-mt - BOOST_IS_MT = true } - isEmpty(BOOST_IS_MT) { - unix|macx { - LIBS += -lboost_thread -lboost_program_options - } - } - CONFIG(mingw-cross-env) { - LIBS = $$ORIGINAL_LIBS_VALUE # erase, start over DEFINES += BOOST_STATIC DEFINES += BOOST_THREAD_USE_LIB DEFINES += Boost_USE_STATIC_LIBS LIBS += -lboost_thread_win32-mt -lboost_program_options-mt } + unix* { + BMT_TEST1 = /usr/lib64/libboost*thread-mt* + BMT_TEST2 = /usr/lib/libboost*thread-mt* + BMT_TEST3 = $$BOOST_DIR/lib/libboost*thread-mt* + + exists($$BMT_TEST1)|exists($$BMT_TEST2)|exists($$BMT_TEST3) { + LIBS += -lboost_thread-mt -lboost_program_options-mt + BOOST_IS_MT = true + } + } + + unix*|macx { + isEmpty(BOOST_IS_MT) { + LIBS += -lboost_thread -lboost_program_options + } + } + } diff --git a/eigen2.pri b/eigen2.pri index 8b955e3..3d7017b 100644 --- a/eigen2.pri +++ b/eigen2.pri @@ -3,19 +3,22 @@ eigen2 { # EIGEN2DIR env. variable EIGEN2_DIR = $$(EIGEN2DIR) !isEmpty(EIGEN2_DIR) { - INCLUDEPATH += $$EIGEN2_DIR + EIGEN2_INCLUDEPATH = $$EIGEN2_DIR } else { CONFIG(mingw-cross-env) { - INCLUDEPATH += mingw-cross-env/include/eigen2 + EIGEN2_INCLUDEPATH = mingw-cross-env/include/eigen2 } else { - freebsd-g++: INCLUDEPATH += /usr/local/include/eigen2 - macx: INCLUDEPATH += /opt/local/include/eigen2 - !macx:!freebsd-g++:INCLUDEPATH += /usr/include/eigen2 + freebsd-g++: EIGEN2_INCLUDEPATH *= /usr/local/include/eigen2 + macx: EIGEN2_INCLUDEPATH *= /opt/local/include/eigen2 + !macx:!freebsd-g++:EIGEN2_INCLUDEPATH *= /usr/include/eigen2 } } - # disable Eigen SIMD optimizations for non-Mac OSX + # eigen2 being under 'include/eigen2' needs special prepending + QMAKE_INCDIR_QT = $$EIGEN2_INCLUDEPATH $$QMAKE_INCDIR_QT + + # disable Eigen SIMD optimizations for platforms where it breaks compilation !macx { !freebsd-g++ { QMAKE_CXXFLAGS += -DEIGEN_DONT_ALIGN -- cgit v0.10.1 From fd0e4297152a1ce07d7582720d0acf95d0a3defa Mon Sep 17 00:00:00 2001 From: Don Bright Date: Fri, 16 Dec 2011 22:36:54 -0600 Subject: fix bug boost.pri (unix* -> unix) diff --git a/boost.pri b/boost.pri index 42fe529..25d47e7 100644 --- a/boost.pri +++ b/boost.pri @@ -31,7 +31,7 @@ boost { } } - unix*|macx { + unix|macx { isEmpty(BOOST_IS_MT) { LIBS += -lboost_thread -lboost_program_options } -- cgit v0.10.1 From 9573fabdb8d1acc18ae6530b78c120070ae59e0e Mon Sep 17 00:00:00 2001 From: don bright Date: Sat, 17 Dec 2011 04:52:13 -0600 Subject: remove /usr/include from win32-MSVC eigen path diff --git a/eigen2.pri b/eigen2.pri index 3d7017b..44649f8 100644 --- a/eigen2.pri +++ b/eigen2.pri @@ -11,7 +11,7 @@ eigen2 { } else { freebsd-g++: EIGEN2_INCLUDEPATH *= /usr/local/include/eigen2 macx: EIGEN2_INCLUDEPATH *= /opt/local/include/eigen2 - !macx:!freebsd-g++:EIGEN2_INCLUDEPATH *= /usr/include/eigen2 + !macx:!freebsd-g++:!win32:EIGEN2_INCLUDEPATH *= /usr/include/eigen2 } } -- cgit v0.10.1 From 6bba101f694afa3c4d97f3507b8b805e3c552590 Mon Sep 17 00:00:00 2001 From: don bright Date: Sat, 17 Dec 2011 05:06:34 -0600 Subject: mt bug fix diff --git a/boost.pri b/boost.pri index 25d47e7..c2f5d8e 100644 --- a/boost.pri +++ b/boost.pri @@ -20,7 +20,7 @@ boost { LIBS += -lboost_thread_win32-mt -lboost_program_options-mt } - unix* { + unix { BMT_TEST1 = /usr/lib64/libboost*thread-mt* BMT_TEST2 = /usr/lib/libboost*thread-mt* BMT_TEST3 = $$BOOST_DIR/lib/libboost*thread-mt* -- cgit v0.10.1 From de282d1ae85f835fa582c9117b83824cdb1a9144 Mon Sep 17 00:00:00 2001 From: Marius Kintel Date: Sat, 17 Dec 2011 14:47:11 +0100 Subject: Compile tests with -O2 -g as default diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index edd89aa..986076e 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -12,7 +12,7 @@ set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}") # Build debug build as default if(NOT CMAKE_BUILD_TYPE) - set(CMAKE_BUILD_TYPE Debug) + set(CMAKE_BUILD_TYPE RelWithDebInfo) endif() if(${CMAKE_BUILD_TYPE} STREQUAL "Debug") -- cgit v0.10.1 From 320fe7d54d067a40b737f78f973aa682abda73f5 Mon Sep 17 00:00:00 2001 From: Marius Kintel Date: Sat, 17 Dec 2011 17:58:32 +0100 Subject: Killed warning diff --git a/tests/OffscreenContext.mm b/tests/OffscreenContext.mm index ea46275..990d3a4 100644 --- a/tests/OffscreenContext.mm +++ b/tests/OffscreenContext.mm @@ -32,7 +32,7 @@ std::string offscreen_context_getinfo(OffscreenContext *ctx) Gestalt(gestaltSystemVersionMinor, &minorVersion); Gestalt(gestaltSystemVersionBugFix, &bugFixVersion); - char *arch = "unknown"; + const char *arch = "unknown"; if (sizeof(int*) == 4) arch = "32-bit"; else if (sizeof(int*) == 8) arch = "64-bit"; -- cgit v0.10.1 From 02457d7b6d52378bbd6be9b15461b55a2433e803 Mon Sep 17 00:00:00 2001 From: Marius Kintel Date: Sat, 17 Dec 2011 18:04:09 +0100 Subject: bison fix diff --git a/bison.pri b/bison.pri index b1f3292..7d3bed0 100644 --- a/bison.pri +++ b/bison.pri @@ -1,17 +1,29 @@ -#setup bison for qmake -bison.name = Bison ${QMAKE_FILE_IN} -bison.input = BISONSOURCES -bison.output = ${QMAKE_FILE_PATH}/${QMAKE_FILE_BASE}_yacc.cpp -bison.commands = bison -d -p ${QMAKE_FILE_BASE} -o ${QMAKE_FILE_PATH}/${QMAKE_FILE_BASE}_yacc.cpp ${QMAKE_FILE_IN} -bison.commands += && mv ${QMAKE_FILE_PATH}/${QMAKE_FILE_BASE}_yacc.hpp ${QMAKE_FILE_PATH}/${QMAKE_FILE_BASE}_yacc.h -bison.CONFIG += target_predeps -bison.variable_out = GENERATED_SOURCES -silent:bison.commands = @echo Bison ${QMAKE_FILE_IN} && $$bison.commands -QMAKE_EXTRA_COMPILERS += bison -bison_header.input = BISONSOURCES -bison_header.output = ${QMAKE_FILE_PATH}/${QMAKE_FILE_BASE}_yacc.h -bison_header.commands = bison -d -p ${QMAKE_FILE_BASE} -o ${QMAKE_FILE_PATH}/${QMAKE_FILE_BASE}_yacc.cpp ${QMAKE_FILE_IN} -bison_header.commands += && mv ${QMAKE_FILE_PATH}/${QMAKE_FILE_BASE}_yacc.hpp ${QMAKE_FILE_PATH}/${QMAKE_FILE_BASE}_yacc.h -bison_header.CONFIG += target_predeps no_link -silent:bison_header.commands = @echo Bison ${QMAKE_FILE_IN} && $$bison.commands -QMAKE_EXTRA_COMPILERS += bison_header +win32 { + bison.name = Bison ${QMAKE_FILE_IN} + bison.input = BISONSOURCES + bison.output = ${QMAKE_FILE_PATH}/${QMAKE_FILE_BASE}_yacc.cpp + bison.commands = bison -d -p ${QMAKE_FILE_BASE} -o ${QMAKE_FILE_PATH}/${QMAKE_FILE_BASE}_yacc.cpp ${QMAKE_FILE_IN} + bison.commands += && mv ${QMAKE_FILE_PATH}/${QMAKE_FILE_BASE}_yacc.hpp ${QMAKE_FILE_PATH}/${QMAKE_FILE_BASE}_yacc.h + bison.CONFIG += target_predeps + bison.variable_out = GENERATED_SOURCES + silent:bison.commands = @echo Bison ${QMAKE_FILE_IN} && $$bison.commands + QMAKE_EXTRA_COMPILERS += bison + bison_header.input = BISONSOURCES + bison_header.output = ${QMAKE_FILE_PATH}/${QMAKE_FILE_BASE}_yacc.h + bison_header.commands = bison -d -p ${QMAKE_FILE_BASE} -o ${QMAKE_FILE_PATH}/${QMAKE_FILE_BASE}_yacc.cpp ${QMAKE_FILE_IN} + bison_header.commands += && mv ${QMAKE_FILE_PATH}/${QMAKE_FILE_BASE}_yacc.hpp ${QMAKE_FILE_PATH}/${QMAKE_FILE_BASE}_yacc.h + bison_header.CONFIG += target_predeps no_link + silent:bison_header.commands = @echo Bison ${QMAKE_FILE_IN} && $$bison.commands + QMAKE_EXTRA_COMPILERS += bison_header +} + +unix:freebsd-g++ { + # on bsd /usr/bin/bison is outdated, dont use it + QMAKE_YACC = /usr/local/bin/bison +} + +unix:linux* { + exists(/usr/bin/bison) { + QMAKE_YACC = /usr/bin/bison + } +} diff --git a/flex.pri b/flex.pri index ce78b98..2e1559e 100644 --- a/flex.pri +++ b/flex.pri @@ -10,16 +10,11 @@ win32 { } unix:freebsd-g++ { - # on bsd /usr/bin/bison is outdated, dont use it QMAKE_LEX = /usr/local/bin/flex - QMAKE_YACC = /usr/local/bin/bison } unix:linux* { exists(/usr/bin/flex) { QMAKE_LEX = /usr/bin/flex } - exists(/usr/bin/bison) { - QMAKE_YACC = /usr/bin/bison - } } -- cgit v0.10.1 From ef29553226ddb3f8f0565dbd6004d76e26c80ddc Mon Sep 17 00:00:00 2001 From: Marius Kintel Date: Sat, 17 Dec 2011 18:42:45 +0100 Subject: Minor release preparations diff --git a/RELEASE_NOTES b/RELEASE_NOTES index 21adc18..ac89511 100644 --- a/RELEASE_NOTES +++ b/RELEASE_NOTES @@ -1,24 +1,24 @@ -OpenSCAD 20xx.yy +OpenSCAD 2011.12 ================ Features: o The MCAD library is now bundled with OpenSCAD +o Added len() function. Takes one vector or string parameter and returns its length. +o The index operator [] now works on strings +o The version() function will return the OpenSCAD version as a vector, e.g. [2011, 09] +o The version_num() function will return the OpenSCAD version as a number, e.g. 20110923 o hull() Now supports 3D objects o hull() with 2D object can now use for loops and boolean operations as children -o Added import and export of the OFF file format o New import() statement reads the correct file format based on the filename extension (.stl, .dxf and .off is supported) o The color() statement now supports an alpha parameter, e.g. color(c=[1,0,0], alpha=0.4) o The color() statement now supports specifying colors as strings, e.g. color("Red") o if()/else() and the ternary operator can now take any value type as parameter. false, 0, empty string and empty vector or illegal value type will evaluate as false, everything else as true. o Strings can now be lexographically compared using the <, <=, >, >= operators -o The version() function will return the OpenSCAD version as a vector, e.g. [2011, 09] -o The version_num() function will return the OpenSCAD version as a number, e.g. 20110923 o Added PI constant. -o Now uses standard shortcuts for save, reload and quit on Linux and Windows. F2/F3 will still work but is deprecated. o Number literals in scientific notation are now accepted by the parser -o Added len() function. Takes one vector or string parameter and returns its length. -o The index operator [] now works on strings +o Added import and export of the OFF file format +o Now uses standard shortcuts for save, reload and quit on Linux and Windows. F2/F3 will still work but is deprecated. Bugfixes: o square() crashed if any of the dimensions were zero diff --git a/doc/release-checklist.txt b/doc/release-checklist.txt index a455ca9..2ff9593 100644 --- a/doc/release-checklist.txt +++ b/doc/release-checklist.txt @@ -9,24 +9,24 @@ o Update version o Update RELEASE_NOTES o Tag release - git tag "openscad-2011.01" + git tag "openscad-2011.12" o build source package - git archive --format=tar openscad-2011.01 --prefix=openscad-2011.01/ | gzip > openscad-2011.01.src.tar.gz + git archive --format=tar openscad-2011.12 --prefix=openscad-2011.12/ | gzip > openscad-2011.12.src.tar.gz o build binaries - tar xzf openscad-2011.01.src.tar.gz - cd openscad-2011.01 + tar xzf openscad-2011.12.src.tar.gz + cd openscad-2011.12 Mac OS X - For Qt-4.7.3: Remove /Developers/Applications/Qt/plugins/qmltooling - ./scripts/publish-macosx.sh -> OpenSCAD-2011.01.dmg + (For Qt-4.7.3: Remove /Developers/Applications/Qt/plugins/qmltooling) + ./scripts/publish-macosx.sh -> OpenSCAD-2011.12.dmg Linux: FIXME 32 vs. 64 bit ./scripts/release-linux.sh Windows: FIXME 32 vs. 64 bit o FIXME: Run some tests -o Set back version: release-linux.sh, publish-macosx.sh, FIXME: Windows +o Set back version to being date-tagged: release-linux.sh, publish-macosx.sh, FIXME: Windows o git push --tags @@ -37,3 +37,7 @@ o Upload o Update web page o Write email to mailing list +o Update external resources: + - http://en.wikipedia.org/wiki/OpenSCAD +o Notify package managers + - Ubuntu: https://launchpad.net/~chrysn diff --git a/scripts/publish-macosx.sh b/scripts/publish-macosx.sh index e559cb8..a2451fa 100755 --- a/scripts/publish-macosx.sh +++ b/scripts/publish-macosx.sh @@ -1,7 +1,7 @@ #!/bin/sh VERSION=`date "+%Y.%m.%d"` -#VERSION=2011.06 +#VERSION=2011.12 # Turn off ccache, just for safety PATH=${PATH//\/opt\/local\/libexec\/ccache:} diff --git a/scripts/release-linux.sh b/scripts/release-linux.sh index 7675c07..e1eb001 100755 --- a/scripts/release-linux.sh +++ b/scripts/release-linux.sh @@ -2,7 +2,7 @@ # WARNING: This script might only work with the authors setup... VERSION=`date "+%Y.%m.%d"` -#VERSION=2011.06 +#VERSION=2011.12 set -ex -- cgit v0.10.1