/
releasenotes.txt
300 lines (240 loc) · 16.1 KB
/
releasenotes.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
Contexo 0.17.2
Bugfix: ctx2make fixes
Contexo 0.17.1
Bugfix: hopefully a fix for those git deadlocks on windows
Bugfix: ctx2make fixes
Contexo 0.17.0
Feature: added the 'ctx2make' command.
This is basically a replacement for ctx+genmake, but designed to be much faster.
ctx2make is designed to be compatible with Windows, however, it has some external dependencies:
The following cygwin packages must be installed
make
makedepend
C:\cygwin\bin - must be added at the end of user environment variable PATH.
If the dependencies above are fulfilled, Makefiles produced with ctx2make can be built with
* MSys GNU make
* GNU make from rvct
* Cygwin GNU make
* Eclipse
* Netbeans
Contexo 0.16.10
Feature: genmake.py updates to correctly use CPPFLAGS [gustafp]
Contexo 0.16.9
Feature: Added -nocc flag to makefile generator, does not override environment CC and CXX variables
Contexo 0.16.8
Bugfix: 0.16.4 broke makefile generator, hopefully fixed this time
Contexo 0.16.7
Bugfix: 0.16.4 broke makefile generator, hopefully fixed this time
Contexo 0.16.6
Bugfix: 0.16.4 broke makefile generator, hopefully fixed this time
Contexo 0.16.5
Bugfix: 0.16.4 broke makefile generator
Contexo 0.16.4
Bugfix: 0.16.3 broke bc search paths in rspecs
Contexo 0.16.3
Bugfix: sub_bc had some critical fixes
Feature: makefile generator in windows now have -rfs flag to generate Makefiels compatible with cl.exe running under cygwin or mingw32
Contexo 0.16.2
Bugfix: msvc.py stderr output fixed
Bugfix: version print to stdout
Contexo 0.16.1
0.16.1 was never pushed to github, only it's tag. DOh!
Contexo 0.16.0
Feature: sub_bc support, in the main .bc-file, a sub_bc file may be referenced, eg: to reference clang2.9.bc:
SUB_BC = clang2.9
in each src directory, you may now put a sub_bc folder with the same name you specified for SUB_BC, the files in this folder will override the files in the src folder.
This obsoletes the ARCH_PATH directive.
Multiple sub_bc files may be referenced by separating them with a semicolon.
Feature: prints all messages to STDERR
Feature: print version number at exit.
Contexo 0.15.3
TOOLS-43: --legacy-duplicate-headers now available for ctx export
TOOLS-44: genmake works on windows
Cleanup: removed MD5 checksums, contexo may rebuild all sources to update disk format
Cleanup: 'depends' files are now obsolete
Contexo 0.15.2
Bugfix: The dependency cache has been found to be stale/corrupt on several occations.
Thus it was removed after verifying that the performance hit was neglible.
Contexo 0.15.1
Bugfix: Added --legacy-duplicate-headers option to allow building legacy code which duplicate sources, note that the source file selection is ambigious, thus you may not know which source file is included!
Contexo 0.15.0
Feature: "ctx buildcomp" now supports the additional include dir flags -I --incdirs flags - same as for ctx build.
Feature: genmake.py now has a -l flag which creates softlinks from all headers to one directory for netbeans compatibility.
Bugfix: forked argparse.py to internal_argparse.py since it was broken in python 2.7, to allow python 2.7 compatibility.
Contexo 0.14.0
Bugfix: TOOLS-41: contexo now explicitly requires unique file names of sources instead of selecting file names ambigiously.
Feature: the inplace folder has been moved to the distribution root and wrappers has been created for various contexo tools
Feature: handle C++ headers .hpp as sources
Contexo 0.13.4
Bugfix: Correctly handle prebuilt object files for genmake plugin
Contexo 0.13.3
Bugfix: do not restore branch after ctx view update has operated on a frozen rspec.
Contexo 0.13.2
CR: BYTE_ORDER is now optional.
Maintainence: Tidying and cleanups from unused functions
Contexo 0.13.1
Bugfix: fixes TOOLS-34: running ctx view update from subdirectory clones a new set of the reposes in the calling directory
Contexo 0.13.0
Feature: Contexo now restores working branches after running a 'ctx view update'.
Feature: TOOLS-26: Contexo can now be launched in any subdirectory in a view and automatically locate an .rspec if it's in a subdirectory.
Feature: TOOLS-11: Contexo now exports prebuilt object information and assembler files to plugins.
Bugfix: TOOLS-33: runs 'git fetch' before 'git checkout' in order to fetch new tags.
Bugfix: andkmk updated.
Bugfix: Contexo now refuses to run on 64-bit python on Windows x64 in order to avoid errors with pysvn.
Contexo 0.12.2
Bugfix: TOOLS-31: fixes comma usage in LDCOM in CDEFs.
Bugfix: TOOLS-32: able to read rspecs with backslashes on linux/osx, no longer generates such rspecs when freezing.
Contexo 0.12.1
Bugfix: buildcomp output regression solved
Bugfix: build -exe linker flag regression solved
Contexo 0.12.0
CR: ctx buildcomp has gotten a new flag: -delete / --deletesources which deletes the utilized sources after they have been compiled.
Feature: Contexo now has colored output. Warnings will be printed in yellow, errors in red. Infomessages will still be grey/uncolored.
Contexo 0.11.1
Bugfix: throws stacktrace when missing header for export.
Contexo 0.11.0
NOTE: .bc files using relative search path for compiler toolchain may require this release, thus it's marked a major release although not urgent.
CR: Contexo now has a constant working directory relative to the root, this makes it possible to use relative PATHs in .bc files, to eg, put a toolchain in the repository for easy setting up and access.
The relative PATH that may be used to access the view root is '../../../'.
CR: caching of .rspecs using the ctx-import directive, rspecs are only updated when using 'ctx view update' in order to keep a repository consistent between ctx view updates.
CR: relative rspec paths may now be used.
Bugfix: The '--no-remote-access' option has been deprecated and ignored since Contexo would be unable to determine a view which used 'ctx-import' if used together with --no-remote-access. Incidently Contexo now only use remote access with 'ctx view validate' and 'ctx view update'.
TOOLS-20: ctx freeze was broken on win32.
CR: [libraries] section is now option in .comp files
CR: removed git fetch operation for increased performance since it did not offer any significant benefits.
Bugfix: fallback on hardcoded git path if git cannot be resolved in path.
Bugfix: the widely misunderstood cryptic "Missing export header" error meassage has been reformulated.
Bugfix: Missing headers are now only reported once.
Bugfix: since contexo handles space characters in paths badly, contexo now checks for spaces in paths and gives an error message if the view is located in such a directory.
Bugfix: error_handler not defined in ctx_common
Contexo 0.10.4
TOOLS-14: this fixes some incorrect distributed cdef files which would cause trouble mostly on gcc but not visual studio. The CXXFILESUFFIX was duplicated and set to an empty string.
Regression: ctx buildcomp did not work correctly in earlier 0.10 releases.
Depreciation: "ctx info" is deprecated.
TOOLS-4: regression unit tests has been added in tests/
Contexo 0.10.3
Bugfix: environment problems such as the one below should be resolved now:
10:00:36 ERROR (C:\Python26\lib\site-packages\contexo\ctx_repo_git.py:25):
Git cannot be found in your PATH. Please re-install Git and make sure the git.cm
d, git.exe or git binary can be found in your PATH
Bugfix: buildcomp fixed
Contexo 0.10.2
New Feature: 'ctx clean -a' and 'ctx clean --all' cleans all object files.All other cleaning features are disabled due to some internal refactoring.
Bugfix: deprecated '--repo-validation','-rv' which caused some extra roundtrips (bad over vpn) and caused some problems when the PATH was set and Contexo couldn't find git. This makes Contexo significally faster at building and exporting. Validation can still be manually performed with 'ctx view validate' and 'ctx view update'.
Change: object files are now placed in [view-root]/.ctx/obj
Bugfix: CFLAGS and ASMFLAGS that contain ',' can now be used
Bugfix: Changed error messsages from missing headers - which would often be in the system include path - to warnings, the compiler would bail out later anyway.
Contexo 0.10.1
Bugfix: Some issues in ctx freeze resolved.
Bugfix: Regression, additional includes (-I and --incdirs) has been non-functional since 0.8.0.
Contexo 0.10.0
CR: TOOLS-5: this feature adds the ability to add object files, ".o" as architecture specific files. This is a Contexo internal only feature (ie: no plugin support).
CR: TOOLS-4: added in-place ctx.py from ctx-devel.py (but with the ctx.py name) to make testing of contexo in place possible without modifying test scripts.
* minor fixes to genmake.py
Contexo 0.9.2
Bugfix:
* Link problems resolved (JIRA: TOOLS-3)
Contexo 0.9.1
This is a minor bugfix release for 0.9.0 which solves problem where git cannot be found if installed as git.cmd in windows.
Contexo 0.9.0
Note about building old Contexo projects:
This release removes the preprocessor definition COMPILING_MOD_<MODNAME> for each module which caused very long preprocessor define strings. It was reported that too long preprocessor define strings would cause trouble in Visual Studio.
COMPILING_MOD_ preprocessor defines are now removed, and thus to build very old projects the following flag must be added to the build process:
--legacy-compiling-mod
New features:
* Git support! The command git-ctx has been added to aid in handling rspec views, also Contexo has gotten support for rspec with rcs="git".
* Contexo modules are no longer depending on certain directory being present in the module directory.
Now, any folder which is located in a folder defined by a ctx-path, which contains either a header file or one of the criteria dirs: 'doc', 'contexo', 'test', 'src'.
Previously all these directories were required for Contexo in order to be a valid Contexo module.
This does not work well in practice since some popular version control systems such as git, hg and perforce does not support empty directories, and since we want old code to build the definition of a contexo module must change to:
A directory which MUST reside in a module path as defined by <ctx-path ...>.
Furthermore, such a directory MUST contain either:
1. One or more public header files.
OR
2. One or more of the criteria dirs.
* The msvc plug-in can now be supplied with '-ct dll' to build dlls.
* Subversion username and password can now be supplied from environment variables (USERNAME, PASSWORD)
* A GNU Makefile export plug-in has been produced. This gives the possibility to build in parallel and tweak compile flags on gnu-make compatible systems.
* A NetBeans export plugin. This has not undergone serious testing and may not be stable for daily use.
Bugfixes:
* --tolerate-missing-headers has been set as default when building, to get the old behaviour where contexo would stop when encountering a header, the flag --fail-on-missing-headers must be supplied to contexo.
* sln export bugfix.
* obsolete code has been removed.
* minor cleanups/fixes as determined by static python analysis (pylint).
* More informative message when a module is not considered valid by Contexo.
Contexo 0.8.0
Bugfixes:
- Fixes for the MSVC plugin:
- local dependency includes for each module instead of global includes for all modules
- digests compilation flags which eliminates warnings with overriding flags. Lots of flags added.
- adding additional libraries for msvc has been fixed
- Debug is no longer hardcoded to be enabled. This could in some configurations cause CL to not compile due to compile flag incompatibility. If Debugging is wanted, debugging must be explicitly stated in the .bc file.
- disable rebuild if the project has external dependencies
- Warning if %HOMEPATH% is set to something else than '\' on windows since contexo will fail to detect correct home directory in that case.
- Correctly escapes arguments to AR in windows since the windows paths with backslashes otherwise would be supplied as control characters.
- Fixed creation of .sln files.
- .gitattributes added which is needed for MSysGIT in windows.
- Removed/commented unused imports and code
- there is now a 'ctx' command without the .py suffix for unix users
- fixed typo in gcc cdefs which should remove warnings about LDDIRSPREFIX.
New features:
- ARCH_PATH in .bc, adds a path relative to [CONTEXOMOD]/src where source files of type C, C++, and Assembler may be added. This was created so architecture specific files could be added and override cross-platform files.
To support assembler-compilation, the flags ASMCOM, ASM are added to .cdef and ASMFLAGS is added to .bc, these flags will default to the C equivalent if not present.
- An example view with a classic hello world can be found under the examples/ directory. Example use of ARCH_PATH and contexo may be found here.
- Parallell builds enabled with the /MP flag when building with Visual Studio CL.EXE (msvc 2005 and later).
Contexo 0.7.4
-made the dependency manager aware of include dirs added throug the -I flag
-fixed a bug in setup (can't find cdefs/bconf)
-made freeze skip fs-repos (i.e. non revision controlled)
-changes to andkmk.py:
-Support for creating the shared object from multiple comp-file-library-entries.
-Support for configuring the project location.
-Support for renaming drives in the makefiles.
Contexo 0.7.3
-fixed str-unicode (fatal) incompatibility in areURLsEqual
-added headers from test folders into generated msvc projects
-additional libraries in msvc are now named only by their basenames
-made low verbosity more silent
-imporved os-compatibility of paths passed to the tools (ar, ld, cc)
-corrected python2.5 compatibility (syntax error when using 'as' in 'except err as foo')
-updated android make generator andkmk
Contexo 0.7.2
-added cdefs and bdefs for osx (because the 'ar' tool does not accept the '@optionfile' option)
Bugfixes:
-treat spaces in URLs more consequently (even for rspec import)
-correct treatment for additional include paths in msvc plugin
-corrected names of default directories (cdefs, bdefs to cdef, bdef) that are copied during installation
-improved error handling when svn versions are not correct
-imporved error handling when trying to work on a view that is not updated
Contexo 0.7.1
-fixed a fatal bug in buildmod
Contexo 0.7.0
-new plugin: android ndk makefile generation
-new tool: bdef2rspec.py (translating the xml from bdef to rspec - no need for valid view)
-fixed bug in freeze
Contexo 0.6.99
new features/fixes:
-new command: build
-Can be used in place of buildmod and buildcomp (kept for backwards compatibility)
-Can link executables (options: -exe, -I -L -l)
-Can export all headers (--all-headers)
-new command: freeze – to freeze the revision numbers
-New option: --tolerate-missing-headers
-inform what source file the missing header is included from.
-source files (not headers) can have doubled names in a view now
-changed config structure: CONFIG_DIR in config, CONTEXO_HOME_DIR, CONTEXO_CONFIG_DIR to find config.
-msvc plugin: export tests as well
-msvc plugin: additional includes can be a directory name (if having only one)
-msvc plugin: support for exe type projects
-msvc plugin: workaround for VS flawed handling of additional options (compiler flags).
-new plugin (tengilplugin): find and export invocations of given names from the source files (used for automatic discovery of tests)
-can export headers from modules that have no source files.
Some known limitations/bugs:
-local includes does not have precedence over external includes: make sure your names are unique.
-verbosity cannot be set from the command line
-cdef and bc-files are found if placed in the view root, env- files are found in the same directory as the command is called upon
-in order to build from deep within a view, use –view and point out the root view directory. e.g. --view ../../.. (not very elegant + doesnt work with env files in the view root – see above )
-hierarchical rspecs need a live network connection.
-clean does not work on comp-files. To make sure all is rebuild, use the --force / -f flag
-After first installation, on windows, sometimes in order to get the paths to the scripts set up, you need to open the 'environment variables' window from control panel->system and then close it. You dont need to add any paths, as they are already added, but windows sometimes doesn't acknowledge them fully.