Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 11 additions & 1 deletion CHANGES.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,14 @@
# UNIXem - CHANGES <!-- omit in toc -->
# UNIXem - Changes <!-- omit in toc -->


## 1.14.0-rc1 - 10th September 2026

* Canonicalised CMake exclusion variable from reserved `CMAKE_NO_SHWILD` to canonical `NO_SHWILD` in **CMakeLists.txt** and **prepare_cmake.sh**;
* Added backwards-compatibility mapping with obsolete-variable warning for legacy `CMAKE_NO_SHWILD` in **CMakeLists.txt**;
* Updated `UNIXEM_VER_MINOR` to 14, `UNIXEM_VER_AB` to `0xC1`, wired `UNIXEM_VER` to `UNIXEM_VER_AB` directly, and provided legacy `UNIXEM_VER_ALPHABETA` and `UNIXEM_VER_REVISION` compatibility aliases in **include/unixem/unixem.h**;
* Added third **Details** column to **NEWS.md** table;
* Updated installation instructions in **INSTALL.md**;
* Documented `stpcpy`, `stpncpy`, `wcpcpy`, and `wcpncpy` in **README.md**;


## 1.14.0-beta1 - 9th August 2026
Expand Down
11 changes: 9 additions & 2 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
# Purpose: Top-level CMake lists file for UNIXem
#
# Created: 10th July 2024
# Updated: 4th August 2026
# Updated: 10th September 2026
#
# ######################################################################## #

Expand Down Expand Up @@ -162,7 +162,14 @@ endif()
# ############################
# shwild (optional)

if(NOT (CMAKE_NO_SHWILD))
if(DEFINED CMAKE_NO_SHWILD AND NOT DEFINED NO_SHWILD)

message(WARNING "variable 'CMAKE_NO_SHWILD' is obsolete and will not be supported in a future version; use 'NO_SHWILD' instead")

set(NO_SHWILD ${CMAKE_NO_SHWILD})
endif()

if(NOT NO_SHWILD)

if(BUILD_TESTING)

Expand Down
8 changes: 4 additions & 4 deletions INSTALL.md
Original file line number Diff line number Diff line change
Expand Up @@ -41,10 +41,10 @@ The primary choice for installation is by use of **CMake**.
```

**NOTE**: if you intend only to build the library then you can eschew
building of tests (via flag `-T`) and use the command:
building of examples (`-E`) and tests (`-T`) and use the command:

```bash
$ ./prepare_cmake.sh -T
$ ./prepare_cmake.sh -E -T
```

In this case, you do not need to have installed **STLSoft**, **shwild**,
Expand All @@ -61,8 +61,8 @@ The primary choice for installation is by use of **CMake**.
(**NOTE**: if you provide the flag `--run-make` (=== `-m`) in step 2 then
you do not need this step.)

4. As a check, execute the built test programs via **run_all_unit_tests.sh**,
as in:
4. As a check, execute the built test programs via **run_all_unit_tests.sh**
(or **ctest_cmake.sh**), as in:

```bash
$ ./run_all_unit_tests.sh
Expand Down
81 changes: 41 additions & 40 deletions NEWS.md
Original file line number Diff line number Diff line change
@@ -1,46 +1,47 @@
# UNIXem - News <!-- omit in toc -->


| Date | News Item |
| ------------- | ---------------------- |
| 9th Aug 2026 | Release of [UNIXem 1.14.0-beta1](https://github.com/synesissoftware/UNIXem/releases/tag/1.14.0-beta1) |
| 4th Aug 2026 | Release of [UNIXem 1.13.0-beta1](https://github.com/synesissoftware/UNIXem/releases/tag/1.13.0-beta1) |
| 7th Sep 2025 | Release of [UNIXem 1.13.0-alpha1](https://github.com/synesissoftware/UNIXem/releases/tag/1.13.0-alpha1) |
| 19th May 2025 | UNIXem 1.12.8 released |
| 1st May 2025 | UNIXem 1.12.7 released |
| 17th Dec 2020 | UNIXem 1.12.6 released |
| 19th Jul 2020 | UNIXem 1.12.5 released |
| 19th Jul 2020 | UNIXem 1.12.4 released |
| 14th Oct 2019 | UNIXem 1.12.3 released |
| 14th Oct 2019 | UNIXem 1.12.2 released |
| 9th Oct 2019 | UNIXem 1.11.4 released |
| 2nd Jan 2017 | UNIXem 1.11.2 released |
| 7th Oct 2015 | UNIXem 1.11.1 released |
| 25th Sep 2015 | UNIXem 1.10.2 released |
| 30th Jul 2015 | UNIXem 1.10.1 released |
| 16th Jun 2012 | UNIXem 1.9.3 released |
| 4th Feb 2011 | UNIXem 1.9.2 released |
| 13th Aug 2010 | UNIXem 1.9.1 released |
| 13th Aug 2010 | UNIXem 1.8.5 released |
| 4th Apr 2010 | UNIXem 1.8.4 released |
| 6th Feb 2010 | UNIXem 1.8.3 released |
| 13th May 2008 | UNIXem 1.8.2 released |
| 22nd Apr 2008 | UNIXem 1.8.1 released |
| 20th Apr 2008 | UNIXem 1.7.5 released |
| 24th Feb 2008 | UNIXem 1.7.4 released |
| 12th Mar 2007 | UNIXem 1.7.3 released |
| 12th Sep 2006 | UNIXem 1.7.2 released |
| 3rd Sep 2006 | UNIXem 1.7.1 released |
| 12th Aug 2006 | UNIXem 1.5.2 released |
| 21st Sep 2005 | UNIXem 1.5.1 released |
| 19th Jun 2005 | UNIXem 1.5.3 released |
| 23rd May 2005 | UNIXem 1.5.2 released |
| 17th Feb 2005 | UNIXem 1.5.1 released |
| 29th Jun 2004 | UNIXem 1.4 released |
| 16th Jun 2004 | UNIXem 1.3 released |
| 3rd Jan 2004 | UNIXem 1.2 released |
| 2nd Nov 2003 | UNIXem 1.1 released |
| 2nd Feb 2003 | UNIXem 1.0 released |
| Date | News Item | Details |
| ------------------- | ---------------------- | ------- |
| 10th September 2026 | Release of [UNIXem 1.14.0-rc1](https://github.com/synesissoftware/UNIXem/releases/tag/1.14.0-rc1) | |
| 9th August 2026 | Release of [UNIXem 1.14.0-beta1](https://github.com/synesissoftware/UNIXem/releases/tag/1.14.0-beta1) | |
| 4th August 2026 | Release of [UNIXem 1.13.0-beta1](https://github.com/synesissoftware/UNIXem/releases/tag/1.13.0-beta1) | |
| 7th September 2025 | Release of [UNIXem 1.13.0-alpha1](https://github.com/synesissoftware/UNIXem/releases/tag/1.13.0-alpha1) | |
| 19th May 2025 | UNIXem 1.12.8 released | |
| 1st May 2025 | UNIXem 1.12.7 released | |
| 17th December 2020 | UNIXem 1.12.6 released | |
| 19th July 2020 | UNIXem 1.12.5 released | |
| 19th July 2020 | UNIXem 1.12.4 released | |
| 14th October 2019 | UNIXem 1.12.3 released | |
| 14th October 2019 | UNIXem 1.12.2 released | |
| 9th October 2019 | UNIXem 1.11.4 released | |
| 2nd January 2017 | UNIXem 1.11.2 released | |
| 7th October 2015 | UNIXem 1.11.1 released | |
| 25th September 2015 | UNIXem 1.10.2 released | |
| 30th July 2015 | UNIXem 1.10.1 released | |
| 16th June 2012 | UNIXem 1.9.3 released | |
| 4th February 2011 | UNIXem 1.9.2 released | |
| 13th August 2010 | UNIXem 1.9.1 released | |
| 13th August 2010 | UNIXem 1.8.5 released | |
| 4th April 2010 | UNIXem 1.8.4 released | |
| 6th February 2010 | UNIXem 1.8.3 released | |
| 13th May 2008 | UNIXem 1.8.2 released | |
| 22nd April 2008 | UNIXem 1.8.1 released | |
| 20th April 2008 | UNIXem 1.7.5 released | |
| 24th February 2008 | UNIXem 1.7.4 released | |
| 12th March 2007 | UNIXem 1.7.3 released | |
| 12th September 2006 | UNIXem 1.7.2 released | |
| 3rd September 2006 | UNIXem 1.7.1 released | |
| 12th August 2006 | UNIXem 1.5.2 released | |
| 21st September 2005 | UNIXem 1.5.1 released | |
| 19th June 2005 | UNIXem 1.5.3 released | |
| 23rd May 2005 | UNIXem 1.5.2 released | |
| 17th February 2005 | UNIXem 1.5.1 released | |
| 29th June 2004 | UNIXem 1.4 released | |
| 16th June 2004 | UNIXem 1.3 released | |
| 3rd January 2004 | UNIXem 1.2 released | |
| 2nd November 2003 | UNIXem 1.1 released | |
| 2nd February 2003 | UNIXem 1.0 released | |


<!-- ########################### end of file ########################### -->
8 changes: 4 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -74,10 +74,10 @@ Top-level compatibility headers (e.g. [`dirent.h`](./include/dirent.h), [`unistd

### Utility APIs

| API(s) | Header | Purpose | Restrictions |
| ------------------------------------------------------------ | -------------------------------------------------- | ---------------------------------- | -------------------------- |
| `begins_with`, `ends_with` | [`unixem/util/str.h`](./include/unixem/util/str.h) | **UNIXem.Util.Str** string helpers | Helper API (also internal) |
| `char_is_path_sep`, `directory_exists`, `get_home_directory` | [`unixem/util/fs.h`](./include/unixem/util/fs.h) | **UNIXem.Util.FS** path/FS helpers | Helper API (also internal) |
| API(s) | Header | Purpose | Restrictions |
| -------------------------------------------------------------------- | -------------------------------------------------- | ---------------------------------- | -------------------------- |
| `begins_with`, `ends_with`, `stpcpy`, `stpncpy`, `wcpcpy`, `wcpncpy` | [`unixem/util/str.h`](./include/unixem/util/str.h) | **UNIXem.Util.Str** string helpers | Helper API (also internal) |
| `char_is_path_sep`, `directory_exists`, `get_home_directory` | [`unixem/util/fs.h`](./include/unixem/util/fs.h) | **UNIXem.Util.FS** path/FS helpers | Helper API (also internal) |


### Compatibility placeholders
Expand Down
2 changes: 1 addition & 1 deletion TODO.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# UNIXem - TODO <!-- omit in toc -->

Updated: 4th August 2026
Updated: 10th September 2026


## Functional improvements
Expand Down
19 changes: 13 additions & 6 deletions include/unixem/unixem.h
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
* Purpose: Version header for the UNIXem API.
*
* Created: 29th August 2005
* Updated: 4th August 2026
* Updated: 10th September 2026
*
* Home: https://github.com/synesissoftware/UNIXem
*
Expand Down Expand Up @@ -56,7 +56,7 @@
# define UNIXEM_VER_UNIXEM_H_UNIXEM_MAJOR 1
# define UNIXEM_VER_UNIXEM_H_UNIXEM_MINOR 7
# define UNIXEM_VER_UNIXEM_H_UNIXEM_REVISION 9
# define UNIXEM_VER_UNIXEM_H_UNIXEM_EDIT 33
# define UNIXEM_VER_UNIXEM_H_UNIXEM_EDIT 34
#endif /* !UNIXEM_DOCUMENTATION_SKIP_SECTION */

/** \def UNIXEM_VER_MAJOR
Expand All @@ -71,24 +71,31 @@
* The patch (aka revision) version number of UNIXem
*/

/** \def UNIXEM_VER_AB
* The alpha/beta/rc number of UNIXem
*/

/** \def UNIXEM_VER
* The current composite version number of UNIXem
*/

#define UNIXEM_VER_MAJOR 1
#define UNIXEM_VER_MINOR 13
#define UNIXEM_VER_MINOR 14
#define UNIXEM_VER_PATCH 0
#define UNIXEM_VER_ALPHABETA 0x81
#define UNIXEM_VER_AB 0xC1

#define UNIXEM_VER \
(0\
| ( UNIXEM_VER_MAJOR << 24 ) \
| ( UNIXEM_VER_MINOR << 16 ) \
| ( UNIXEM_VER_PATCH << 8 ) \
| ( UNIXEM_VER_ALPHABETA << 0 ) \
| ( UNIXEM_VER_AB << 0 ) \
)

#define UNIXEM_VER_REVISION UNIXEM_VER_PATCH
#ifndef UNIXEM_DOCUMENTATION_SKIP_SECTION
# define UNIXEM_VER_ALPHABETA UNIXEM_VER_AB
# define UNIXEM_VER_REVISION UNIXEM_VER_PATCH
#endif /* !UNIXEM_DOCUMENTATION_SKIP_SECTION */


/* ////////////////////////////////////////////////////////////////////// */
Expand Down
4 changes: 2 additions & 2 deletions prepare_cmake.sh
Original file line number Diff line number Diff line change
Expand Up @@ -169,7 +169,7 @@ if [ $MinGW -ne 0 ]; then
-DBUILD_EXAMPLES:BOOL=$CMakeBuildExamplesFlag \
-DBUILD_TESTING:BOOL=$CMakeBuildTestingFlag \
-DCMAKE_BUILD_TYPE=$Configuration \
-DCMAKE_NO_SHWILD:BOOL=$CMakeNoShwild \
-DNO_SHWILD:BOOL=$CMakeNoShwild \
-DMSVC_USE_MT:BOOL=$CMakeMsvcMtFlag \
-G "MinGW Makefiles" \
-S $Dir \
Expand All @@ -182,7 +182,7 @@ else
-DBUILD_EXAMPLES:BOOL=$CMakeBuildExamplesFlag \
-DBUILD_TESTING:BOOL=$CMakeBuildTestingFlag \
-DCMAKE_BUILD_TYPE=$Configuration \
-DCMAKE_NO_SHWILD:BOOL=$CMakeNoShwild \
-DNO_SHWILD:BOOL=$CMakeNoShwild \
-DCMAKE_VERBOSE_MAKEFILE:BOOL=$CMakeVerboseMakefileFlag \
-DMSVC_USE_MT:BOOL=$CMakeMsvcMtFlag \
-S $Dir \
Expand Down
1 change: 1 addition & 0 deletions test/scratch/test.scratch.link/test.scratch.link.c
Original file line number Diff line number Diff line change
Expand Up @@ -127,3 +127,4 @@ int main(int argc, char *argv[])


/* ///////////////////////////// end of file //////////////////////////// */

Loading