Wednesday, October 9, 2019

UNIXem versions 1.9.2 - 1.11.4 pushed to GitHub

UNIXem - Unix-emulation library for Windows - is a small and simple library that provides emulation of several popular Unix API functions on the Windows platform. Its primary purpose is to assist Windows programmers who are porting to Unix or are writing multi-platform code.

Prior to version 1.9.2 it was available on the (currently moribund; soon to be turned around) Synesis Software website at; henceforth newer versions will be provided at

A few days ago I received a pull request notification on UNIXem, to correct a syntax header in one of the headers. This prompted me to update and reconcile the GitHub repo with the internal source control. This has now been published, and all updates over the last 8+ years are now available. The significant changes are:

  • added mkdtemp();
  • added mkstemp();
  • added unixem_timegm() / timegm();
  • modified glob():
    • glob() now preserves dots directories when included in leaf-most pattern part;
  • renamed setenv() => unixem_setenv()unsetenv() => unixem_unsetenv();
  • fixed defect in unixem_setenv();
  • built library name changes from "unixem(.X)" to "unixem(.X).core", e.g. unixem.lib => unixem.core.libunixem.1.lib => unixem.1.core.lib;
  • removed include/sys/select.h (which was vestigial);
  • build/project files:
    • added VC++11, VC++12, and VC++14 support;
    • moved VC++6 project file from build/vc6 to projects/core/vc6;
    • added VC++ 10 project files, in projects/core/vc10;
    • added VC++ 10+ props file(s), in projects/vcprops.

No comments:

Post a Comment