Skip to content

Commit 706a35a

Browse files
committed
Merge openscad/master
2 parents b888f96 + 420c366 commit 706a35a

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

60 files changed

+785
-251
lines changed

README

+11-5
Original file line numberDiff line numberDiff line change
@@ -34,13 +34,19 @@ To build OpenSCAD, you need some libraries and tools. The version
3434
numbers in brackets specify the versions which have been used for
3535
development. Other versions may or may not work as well..
3636

37-
* Qt4 (4.4 - 4.6):
37+
* Qt4 (4.4 - 4.7):
3838
http://www.qtsoftware.com/
3939

40-
* CGAL (3.5.x):
40+
* CGAL (3.6 - 3.7):
4141
http://www.cgal.org/
4242

43-
* boost (1.35 - 1.41, required by CGAL)
43+
* GMP (5.0.x):
44+
http://www.gmplib.org/
45+
46+
* MPFR (3.0.x):
47+
http://www.mpfr.org/
48+
49+
* boost (1.35 - 1.44, required by CGAL)
4450
http://www.boost.org/
4551

4652
* cmake (2.6.x, required by CGAL)
@@ -49,13 +55,13 @@ development. Other versions may or may not work as well..
4955
* OpenCSG (1.3.0):
5056
http://www.opencsg.org/
5157

52-
* GLEW (bundled with OpenCSG)
58+
* GLEW (1.5.x, also bundled with OpenCSG)
5359
http://glew.sourceforge.net/
5460

5561
* Eigen2 (2.0.11)
5662
http://eigen.tuxfamily.org/
5763

58-
* GCC C++ Compiler (4.0, 4.2, 4.3.1):
64+
* GCC C++ Compiler (4.2, 4.3.1):
5965
http://gcc.gnu.org/
6066

6167
* Bison (2.4):

RELEASE_NOTES

+9-1
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,18 @@
1+
OpenSCAD 20XX.YY
2+
================
3+
14

2-
OpenSCAD 2010.XX
5+
OpenSCAD 2011.01
36
================
47

58
o Added rands() function
69
o Added sign() function
10+
o Now supports escaping of the following characters in strings: \n, \t, \r, \\, \"
11+
o Support nested includes
12+
o Improved parsing of numbers
13+
o DXF: output LWPOLYLINE instead of just LINE entities
714
o Bugfixes: More robust DXF export
15+
o Some bugs fixed, maybe some new bugs added
816

917
OpenSCAD 2010.05
1018
================

bison.pri

+15
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
#setup bison for qmake
2+
bison.name = Bison ${QMAKE_FILE_IN}
3+
bison.input = BISONSOURCES
4+
bison.output = ${QMAKE_FILE_PATH}/${QMAKE_FILE_BASE}.parser.cpp
5+
bison.commands = bison -d -o ${QMAKE_FILE_PATH}/${QMAKE_FILE_BASE}.parser.cpp ${QMAKE_FILE_IN}
6+
bison.CONFIG += target_predeps
7+
bison.variable_out = GENERATED_SOURCES
8+
silent:bison.commands = @echo Bison ${QMAKE_FILE_IN} && $$bison.commands
9+
QMAKE_EXTRA_COMPILERS += bison
10+
bison_header.input = BISONSOURCES
11+
bison_header.output = ${QMAKE_FILE_PATH}/${QMAKE_FILE_BASE}.parser.hpp
12+
bison_header.commands = bison -d -o ${QMAKE_FILE_PATH}/${QMAKE_FILE_BASE}.parser.cpp ${QMAKE_FILE_IN}
13+
bison_header.CONFIG += target_predeps no_link
14+
silent:bison_header.commands = @echo Bison ${QMAKE_FILE_IN} && $$bison.commands
15+
QMAKE_EXTRA_COMPILERS += bison_header

boost.pri

+11
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
boost {
2+
isEmpty(DEPLOYDIR) {
3+
# Optionally specify location of boost using the
4+
# BOOSTDIR env. variable
5+
BOOST_DIR = $$(BOOSTDIR)
6+
!isEmpty(BOOST_DIR) {
7+
INCLUDEPATH += $$BOOST_DIR
8+
message("boost location: $$BOOST_DIR")
9+
}
10+
}
11+
}

cgal.pri

+6-1
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,11 @@ cgal {
1212
}
1313
}
1414

15-
LIBS += -lCGAL -lmpfr -lgmp -lboost_thread
15+
LIBS += -lCGAL -lmpfr -lboost_thread
16+
win32 {
17+
LIBS += -lmpir
18+
} else {
19+
LIBS += -lgmp
20+
}
1621
QMAKE_CXXFLAGS += -frounding-math
1722
}

doc/TODO.txt

+13-4
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,9 @@ BUGS
44
o Some invalid DXF data gets pass the import checks and breaks the tessing code
55
o Tesselation via GLU sometimes produces strange results
66
o Export STL: Exports existing CGAL model even though the current model is changed, but not CGAL rendered
7-
o It's now possible to start a new rendering while one is already running.
7+
o It's now possible to start a new rendering while one is already running (which call processEvents())
88
-> turn off most (or all) interaction while rendering
9+
-> Lock all or only one MainWindow (MDI)?
910
o Look into the polygon winding and rotate_extrude() problem reported by Britton
1011

1112
STL Import BUGS
@@ -142,6 +143,7 @@ o Language Frontend
142143
- Rethink for vs. intersection_for vs. group. Should for loops
143144
generate child lists instead, and make these passable to other
144145
modules or accessible by child()?
146+
- constants: PI, TRUE, FALSE
145147
o DXF Import/Export
146148
- Use dxflib from RibbonSoft for import/export? -> investigate
147149
- Import
@@ -168,6 +170,11 @@ o Grammar
168170
- import_*() -> *_import() (consistent prefix vs. postfix)
169171
- linear_extrude()/rotate_extrude(): Cumbersome names? -> (extrude, revolve, lathe, sweep ?)
170172

173+
IDEAS FOR LANGUAGE CHANGES
174+
--------------------------
175+
o More strict checking of module parameters to make e.g. this fail:
176+
module test(a,b) { a=1; b=2; echo(a,b,c); } test(c=3);
177+
171178
CODE
172179
----
173180

@@ -185,6 +192,11 @@ o Consider decoupling DXF-specific functionality from the 2D subsystem
185192
o Visitation refactoring
186193
- Make AbstractNode members private/protected?
187194

195+
BUILD SYSTEM
196+
------------
197+
o Fedora is reported to ship with byacc, which doesn't support bison extensions (e.g. %debuig). Look into this, either be yacc-compatible or force the build system to use bison.
198+
o We currently link in -lboost_thread. Should we always use -lboost_thread-mt under Linux or can we pick this up using qmake?
199+
188200
TESTING
189201
-------
190202
o Caching and MDI looks suspicious when the code relies on external resources
@@ -208,9 +220,6 @@ MISC
208220
----
209221
o Streamline the cmd-line interface a bit
210222
- Implicit output file format
211-
o Mac OS X:
212-
- 32-bit compatibility
213-
o Build everything including i386 arch
214223

215224
o Write checklists for typical extension work (add new module, add new function)
216225
-> make sure new test files are added

doc/build-macosx.txt

-41
This file was deleted.

doc/release-checklist.txt

+36
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
OpenSCAD Release Checklist
2+
--------------------------
3+
4+
o Update version
5+
release-linux.sh
6+
publish-macosx.sh
7+
FIXME: Windows
8+
9+
o Update RELEASE_NOTES
10+
11+
o Tag release
12+
git tag "openscad-2011.01"
13+
14+
o build source package
15+
git archive --format=tar openscad-2011.01 --prefix=openscad-2011.01/ | gzip > openscad-2011.01.tar.gz
16+
17+
o build binaries
18+
Mac OS X
19+
- publish-macosx.sh -> OpenSCAD-2011.01.dmg
20+
Linux: FIXME 32 vs. 64 bit
21+
- release-linux.sh
22+
Windows: FIXME 32 vs. 64 bit
23+
24+
o Set back version: release-linux.sh, publish-macosx.sh, FIXME: Windows
25+
26+
o Upload
27+
- Github
28+
Upload manually here: https://github.com/openscad/openscad/downloads
29+
FIXME: Write a script
30+
31+
- Google code
32+
- Get password from https://code.google.com/hosting/settings
33+
./scripts/googlecode_upload.py -u kintel -w <passwd> -s "OpenSCAD 2011.11 Windows" -p openscad openscad-2011.01.win32.zip
34+
./scripts/googlecode_upload.py -u kintel -w <passwd> -s "OpenSCAD 2011.11 Linux x86" -p openscad openscad-2011.01.linux-x86.tar.gz
35+
./scripts/googlecode_upload.py -u kintel -w <passwd> -s "OpenSCAD 2011.11 Mac OS X" -p openscad openscad-2011.01.dmg
36+
./scripts/googlecode_upload.py -u kintel -w <passwd> -s "OpenSCAD 2011.11 Source code" -p openscad openscad-2011.01.src.tar.gz

flex.pri

+10
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
#setup flex for qmake
2+
3+
flex.name = Flex ${QMAKE_FILE_IN}
4+
flex.input = FLEXSOURCES
5+
flex.output = ${QMAKE_FILE_PATH}/${QMAKE_FILE_BASE}.lexer.cpp
6+
flex.commands = flex -o ${QMAKE_FILE_PATH}/${QMAKE_FILE_BASE}.lexer.cpp ${QMAKE_FILE_IN}
7+
flex.CONFIG += target_predeps
8+
flex.variable_out = GENERATED_SOURCES
9+
silent:flex.commands = @echo Lex ${QMAKE_FILE_IN} && $$flex.commands
10+
QMAKE_EXTRA_COMPILERS += flex

openscad.pro

+45-5
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,50 @@
1-
isEmpty(VERSION) VERSION = $$system(date "+%Y.%m.%d")
1+
# Auto-include config_<variant>.pri if the VARIANT variable is give on the
2+
# command-line, e.g. qmake VARIANT=mybuild
3+
!isEmpty(VARIANT) {
4+
message("Variant: $${VARIANT}")
5+
exists(config_$${VARIANT}.pri) {
6+
message("Including config_$${VARIANT}.pri")
7+
include(config_$${VARIANT}.pri)
8+
}
9+
}
10+
11+
win32 {
12+
isEmpty(VERSION) VERSION = $$system(date /t)
13+
} else {
14+
isEmpty(VERSION) VERSION = $$system(date "+%Y.%m.%d")
15+
}
16+
17+
#configure lex / yacc
18+
win32 {
19+
include(flex.pri)
20+
include(bison.pri)
21+
FLEXSOURCES = src/lexer.l
22+
BISONSOURCES = src/parser.y
23+
} else {
24+
LEXSOURCES += src/lexer.l
25+
YACCSOURCES += src/parser.y
26+
}
27+
28+
#configure additional directories
29+
win32 {
30+
INCLUDEPATH += $$(MPIRDIR)
31+
INCLUDEPATH += $$(MPFRDIR)
32+
}
33+
234
DEFINES += OPENSCAD_VERSION=$$VERSION
335

36+
win32:DEFINES += _USE_MATH_DEFINES NOMINMAX _CRT_SECURE_NO_WARNINGS
37+
38+
#disable warning about too long decorated names
39+
win32:QMAKE_CXXFLAGS += -wd4503
40+
441
python{
542
TEMPLATE = lib
643
SOURCES += src/python.cc
744
}else{
845
TEMPLATE = app
946
}
47+
1048
RESOURCES = openscad.qrc
1149

1250
OBJECTS_DIR = objects
@@ -51,6 +89,7 @@ macx:CONFIG += mdi
5189
CONFIG += cgal
5290
CONFIG += opencsg
5391
CONFIG += progresswidget
92+
CONFIG += boost
5493

5594
#Uncomment the following line to enable QCodeEdit
5695
#CONFIG += qcodeedit
@@ -70,6 +109,7 @@ progresswidget {
70109
include(cgal.pri)
71110
include(opencsg.pri)
72111
include(eigen2.pri)
112+
include(boost.pri)
73113

74114
# Standard include path for misc external libs
75115
#macx {
@@ -80,8 +120,6 @@ include(eigen2.pri)
80120
# QMAKE_CXXFLAGS += -pg
81121
# QMAKE_LFLAGS += -pg
82122

83-
LEXSOURCES += src/lexer.l
84-
YACCSOURCES += src/parser.y
85123

86124
FORMS += src/MainWindow.ui \
87125
src/Preferences.ui
@@ -109,7 +147,8 @@ HEADERS += src/CGAL_renderer.h \
109147
src/printutils.h \
110148
src/value.h \
111149
src/progress.h \
112-
src/editor.h
150+
src/editor.h \
151+
src/mathc99.h
113152

114153
SOURCES += src/openscad.cc \
115154
src/mainwin.cc \
@@ -146,7 +185,8 @@ SOURCES += src/openscad.cc \
146185
src/nef2dxf.cc \
147186
src/Preferences.cc \
148187
src/progress.cc \
149-
src/editor.cc
188+
src/editor.cc \
189+
src/mathc99.cc
150190

151191
macx {
152192
HEADERS += src/AppleEvents.h \

openscad_win32.rc

+1-1
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ VS_VERSION_INFO VERSIONINFO
2424
VALUE "CompanyName", "\0"
2525
VALUE "FileDescription", "OpenSCAD Executable\0"
2626
VALUE "FileVersion", "development build\0"
27-
VALUE "LegalCopyright", "Copyright (C) 2009 Clifford Wolf\0"
27+
VALUE "LegalCopyright", "Copyright (C) 2009-2011 Clifford Wolf and Marius Kintel\0"
2828
VALUE "OriginalFilename", "openscad.exe\0"
2929
VALUE "ProductName", "OpenSCAD\0"
3030
END

scripts/chrpath_linux.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -476,7 +476,7 @@ elf_open(const char *filename, int flags, Elf_Ehdr *ehdr)
476476
if (ehdr->e_phentsize != sizeof(Elf_Phdr))
477477
{
478478
fprintf(stderr, "section size was read as %d, not %d!\n",
479-
ehdr->e_phentsize, sizeof(Elf_Phdr));
479+
ehdr->e_phentsize, (int)sizeof(Elf_Phdr));
480480
close(fd);
481481
return -1;
482482
}

0 commit comments

Comments
 (0)