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 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385
|
CHANGES
2.6.12 2026-1-23
Link: fix runpath.
Link: MacOS: set shared library id with @rpath.
Split application compiler flags from application flags.
2.6.11 2025-11-10
Link: move system libraries to late in the link.
2.6.10 2025-10-29
Env: libname: fix.
Env: libname: do not revert lib64 to lib if symlink.
Env: addcflag: update test for -Wno- flags.
2.6.9 2025-8-26
Env: libname
2.6.8 2025-2-23
Env: NetBSD Fix.
Env: pkg-config cleanup.
2.6.7 2025-2-21
Env: Add flags and paths for HP-UX ia64.
2.6.6 2025-2-18
Env: Add some additional paths to check for pkg-config files.
Env: Update paths for MacOS, NetBSD.
2.6.5 2025-2-8
Env: Fixed cflags processing.
2.6.4 2025-2-5
CC: Added 'staticlib' directive.
CC: Added 'header_reset' directive.
Env: Added 'addincpath' and 'addldsrchpath' directives.
Env: Fixed addldpath/addcflags to handle multiple arguments.
Env: Added 'sharedliblinkflag' and 'staticliblinkflag'.
Env: Added 'shared_flags' directive that runs all shared options.
Env: Remove non-working cache checks.
New directive: 'env' : environment variable check.
Options: Removed.
mkcl.sh: Handle runpath.
mkcl.sh: Fix ldpaths/runpath generation.
units/c-main.sh: Remove define of _ for ancient C compilers.
units/env-cc: AIX: Correctly check cflags.
units/env-cc: Fixed clang issue for shared linking.
units/env-cc: Fixed test for C flags.
capabilities: test for grep -E / egrep.
Remove D language.
Merge env/c namespaces.
2.6.3 2021-1-30
Fix 'pkg libs' directive.
2.6.2 2021-1-30
Add 'pkg include' directive.
Update documentation.
2.6.1 2020-9-25
Fix PKG_CONFIG_PATH handling.
2.6 2020-9-25
Add support for pkg-config --cflags and pkg-config --libs
2.5 2020-7
Rework domath function so that it can be used with osh.
2.4 2020-6-13
Added 'standard_cc' (env-cc), 'standard_system' (env-system) commands.
Fixed 'defined', 'size' directives so that they will
work with a cross-compile (MKC_CROSS=Y must be defined).
Added examples/helloworld.
Added Makefile.inc for simple builds.
Made easier to use.
Move most work files to a sub-directory.
Fixed AIX shared library linking (xlc and gcc).
Fixed HP-UX shared library linking.
Fixed OSF1 (Tru64) shared library linking (cc and gcc).
Fixed Msys2 and Cygwin shared library linking (clang).
Tested on 23 platforms.
2.3 [2020-6-3]
Fixed an issue propogating LDFLAGS_SHARED.
Fix library check when using g++.
Propogate CFLAGS_OPTIMIZE and CFLAGS_DEBUG properly to linker.
Added bin/capabilities.sh script.
Added yash to the supported scripts list (version 2.48 or later;
I don't know when its issues were fixed).
2.2 [2020-5-22]
Added support for oilshell (osh; oilshell.org).
mkcl.sh will display its messages as a single printf so that
make -j does not look really weird.
2.1.1 [2019-6-25]
env-cc: Fix getconf/cflags_system.
Fix putsnonl function when 'echo' is in use.
2.1.0 [2018-12-27]
Add test for shell interpolation bug. Use printf if possible
for POSIX compliance.
env-cc: Fix cflags_shared.
env-cc: Pick up all cflags* and ldflags* defaults from the
environment.
mkcl.sh: Fix processing of LDFLAGS.
mkcl.sh: Support .m extension.
mkcl.sh: Support command line set of env vars (must be quoted).
env-cc: Add support for DragonFlyBSD.
env-cc: Add support for pkgconfig files (findpc).
2.0.0 [2018-8-12]
C: split CFLAGS, LDFLAGS, LIBS into multiple environment
variables for easier processing. D language is probably broken.
C: fix shared flags
C: Various bug fixes for msys2, tru64, etc.
Clean up interfaces to mkcl.sh, mkstaticlib.sh
Clean output style for mkc.sh.
Added compilation log file.
Added 'findconfig' and 'addconfig' commands for *Config.sh files.
Removed 'findincludefile' command.
Remove mksharedlib.sh (now part of mkcl.sh).
1.31 [2018-4-11]
env-cc: update findincludepath to search more common paths.
Remove Makefile and MANIFEST from standard distribution.
1.30 [2018-4-10]
Repo got completely mucked up. Restore lost code.
C: size: -lintl option for modern libintl.h
C: printf_long_double : -lintl option for modern libintl.h
Minor code cleanup.
Update copyrights.
1.29 [2018-4-6]
Changed .tar.gz creation to not include tests.
1.28 [2016-8-9]
Cleaned up some compiler warnings.
More fixes for msys/mingw.
1.27 [2016-2-22]
Protected standard definitions from multiple inclusion.
Fixed ifoption/ifnotoption.
Removed 'lib' prefix when creating libraries.
Removed LDFLAGS when creating shared libraries.
Fixes to run under msys.
Added printf_long_double test (for mingw).
Fix cache bug with values ending in '='.
Fixed args test on mac os x.
Fixed args test for cygwin.
1.26 [2016-1-6]
Added yes/no as possible option values.
Options can be overridden by environment variables.
1.25 [2015-10-18]
Fix 'using_gnu_ld' environment test.
Add 'addldflag' to env-cc.
1.24 [2014-2-15]
Updates for MirOS and Irix.
Added -Wno-disabled-macro-expansion for clang.
1.23 [19 Jan 2013]
Added the 'using_clang' environment directive.
Added default flags for the clang compiler.
1.22 [15 Nov 2012]
Fixed the display of the define directive.
Fixed issues where the cache should not be used for XDR types
and library function arguments.
Fixed processing of nested if statements.
1.21 [18 Oct 2012]
Added examples directory.
clang: add -Wno-unknown-warning-option
addcflag directive updated to not add the flag if the compiler
has a warning.
Fixed read problems with ksh93 93u+.
Added a work-around for cd problem w/debian ksh93 93u+ (bug #679966).
Handle __restrict__ on NetBSD 6.
Remove improper link flags for AIX. Not tested.
1.20 [25 Jan 2012]
D: rewrite c-typedef extraction.
D: handle situations where structure is typedef'd and a
ctypedef directive is issued.
D: several fixes for C structure extraction.
D: improved nested structure handling.
D: basic handling for bitfields in structures.
D: changed prefix from C_TYP_ to C_NATIVE_ for native c types.
D: Added the noprefix directive to not add C_ST_, C_TYP_, etc.
prefixes to the original C language types (but not C_NATIVE_).
D: Casts are converted. May still be some issues.
env: Added the source directive.
D: fixed macro extraction with partial name.
D: convert the version keyword to version_
D: handle multi-line statements better.
D: added the module directive.
D: added the substitute directive.
Minor speed improvements for header extraction.
D: fixed multiple output files.
mkc.sh: -comp: fixed to add -c flag when compiling to object w/-o flag.
mkc.sh: merge -link and -comp.
D: fixed some D1 conversion issues.
Fixed if statements with unknown variables.
D: wrap ctypes in extern
D: fixed type conversions (followed by asterisk, lone unsigned)
1.19 [20 Nov 2011]
Created mkc.sh as a single entry point for compiling, linking,
creating libraries, setting options and finding required libraries.
Solaris 2.6 /bin/sh is no longer excluded.
Fixed problem with .vars file not being cleaned on remake.
D: Rework c-structure extraction.
D: Better handling of nested structures and typedef'd structures.
D: Add aliases for c argument types.
D: revert cache check where it shouldn't be cached.
D: Add aliases for c basic types (csizes directive).
Fixed mkreqlib.sh to handle clibs for D.
Fixed c-declaration test for freebsd.
Change support for tango library and Dv1.
Changed env-dc to compile to get D version.
Changed env-cc and env-dc to pick up standard env variables
from the options file. This allows the options file to
keep all configuration data.
Rearranged directory structure.
1.18 [8 Oct 2011]
D: C structures are wrapped in extern (C) {}
(to properly declare functions).
Fixed multiple output files in the same directory.
Fixed multiple inclusion tag for C output file.
Fixed and updated shell locater for runtests.sh.
Removed -std1 for OSF1 (Tru64).
Added 'ksh88', 'ksh93' as valid shell names.
1.17 [30 Sep 2011]
Fixed cmacro directive for D.
Added cmembertype, cmemberxdr for D.
Added memberxdr for C.
Removed rquota_xdr, gqa_uid_xdr.
Improved documentation.
Rewrote test suite.
Fixed 'lib' for D.
Updated env-cc.sh for SCO OpenServer and UnixWare.
Fixed structure extraction for HP-UX.
Various fixes for HP-UX, SCO OpenServer, UnixWare.
* Shared lib tests fail for HP-UX ansi cc.
1.16 [16 Sep 2011]
Removed 'di' leftovers.
Changed internal prefix to 'mkc'.
Added 'echo' and 'exit' directives.
Fixed d language tests to be 32/64 bit safe.
Fixed d language tests for d version 1.
Fixed d language tests for tango library.
Added initial support for ldc and tango libraries.
* On 64-bit, ldc's unions don't match C language sizes.
* ldc1 doesn't have alias for 'string'.
* ldc2 tested w/-d flag.
Tested with dmd1, dmd2, ldc1, ldc2 on 64-bit.
Tested with dmd1, dmd2, ldc1, ldc2, gdc1, gdc2 on 32-bit.
1.15 [11 Sep 2011]
Added pdksh in as a valid shell
Added 'args' directive (C)
Removed statfs, setmntent, quotactl, getfsstat_type
(breaks backwards compatibility)
Added 'addcflags' directive (env)
Fixed args directive to return valid types (C)
Fixed cdcl directive to return valid types (D)
Updated args directive to save return type (C)
Updated cdcl directive to save return type (D)
Fixed shell validity tests.
1.14 [22 May 2011]
Renamed ctypeconv to ctype (breaks backwards compatibility).
Rewrite ctype check command to use the
C typedef name, and add an alias.
Fixed ctype to handle unsigned typedefs correctly.
Fixed nested structure handling.
ctypedef will now find function pointer typedefs.
Made D-C prefixes more consistent (breaks backwards compatibility).
Added cmacro to convert C macros to functions.
Merged cdefint and cdefstr to cdefine; made more generic
(breaks backwards compatibility).
Added breakdown of arg types for "cdcl args ...".
1.13 [27 Feb 2011]
Handle gcc __asm__ function renames.
Update doc for cdcl.
1.12 [16 Feb 2011]
Added d-ctypeconv check command.
Renamed d-ctype to d-ctypedef.
Updated to work with D1.
More fixes for D, D-C checks.
1.11 [29 Dec 2010]
Fixed output of "yes with" libraries.
Rearranged tests and test directories.
Fixed test subdirectory handling.
Added c-rquota, c-getfsstat.
Added unset CDPATH. The output from the cd command
broke the scripts.
Added D language (not yet complete).
Backwards compatibility broken for mklink.sh.
1.10 [22 Jul 2010]
Renamed reqlibs.txt to mkconfig.reqlibs.
Breaks backwards compatibility.
Added support for multiple output files.
Fixed naming of runtest log files.
Added mkstaticlib.sh.
Added mksharedlib.sh: preliminary support for shared libs.
Added mklink.sh: preliminary
Added new env-cc vars to support shared libs.
Added new env-extension vars to support shared libs.
Bug fix: workaround for ksh93 unable to getcwd() on Solaris.
Fixed env-extension to match manual page.
1.9 [12 Jul 2010]
Fixed regression tests to work w/c++.
Code cleanup.
1.8 [10 Jul 2010]
Internal code cleanup.
Modify tests to take -d parameter for description output.
Stop tests on change of pass number on failure.
Add check_option.
Fixed member test so either structs or typedefs can be used.
Changed member test names to be _mem_struct_s_member or
_mem_sometype_member. Breaks backwards compatibility.
1.7 [5 Jul 2010]
Add labels to if statement.
if statement counter and display.
1.6 [4 Jul 2010]
Fix getlistofshells() when absolute path.
Added c-quotactl unit.
Renamed c-include-time to c-include-conflict, and changed
how c-include-conflict works.
Added define, set, setint, setstr, ifoption, ifnotoption, if.
Added option-file.
Added mkcsetopt.sh
1.5 [13 May 2010 - separate release]
Change tmp directory structure and where logs go.
Fixes for mkconfig.pl to handle absolute paths.
Remove /bin from path for cygwin (duplicate of /usr/bin).
Code cleanup.
1.4 (di ver 4.23) [10 May 2010]
Move -lsun, -lseq out of env-cc.sh
Update env-cc.sh to handle QNX getconf 'undefined' output.
Fix cache test (tests.d/cache.sh).
Fix edit when /bin is symlink (shellfuncs.sh).
Added test for -n support for shells.
Added support to mkconfig.sh to munge set output that has $s in it.
Export shelllist in runtests.sh; more efficient.
Redo paths in shellfuncs; make sure symlinked paths are present.
Needed for Tru64, do: export BIN_SH=svr4 beforehand.
1.3 (di ver 4.22) [1 may 2010]
Use the configuration file and cache to determine the necessary
libraries to link in rather than linking in all found.
Change library format to allow better control of link
tests.
Change dosubst() to always use sed. It's more reliable.
1.2 (di ver 4.20, 4.21) [12 mar 2010]
Rewrite mkconfig.sh to use unit scripts and increase performance.
Add environment units.
Allow _MKCONFIG_SHELL to override shell.
1.1 (di ver 4.19) [1 Feb 2010]
Changed format of config.h file.
Fixed a quoting bug in mkconfig.sh.
mkconfig enhancements and cleanup.
1.0 (di ver 4.18) [29 Nov 2009]
Initial coding
|