[Vm-dev] [OpenSmalltalk/opensmalltalk-vm] The Yakshaving (#226)

Tobias Pape notifications at github.com
Sun Mar 11 12:56:49 UTC 2018


Ok, don't mind the branch name. This started out as a trial to improve OpenBSD support, especially since my SqueakSSL/Unix changes broke it for them. But things got out of hand (viz. [Yak](https://en.wiktionary.org/wiki/yak_shaving) [shaving](https://www.urbandictionary.com/define.php?term=yak%20shaving) )

## Travis Changes

 - This adds a few more libraries for Travis, such that more plugins are actually built and not disabled due to missing dependencies

## `scripts/updateSCCSVersions`

 - This is a `bash` script now, but `bash` is not in `/usr/bin` on all platforms. Solution: use `/usr/bin/env bash`. Problem 2: We want `bash -e`, but POSIX/execve only specifies `#! <interpreter> <onearg>`. Solution 2:

      ```shell
      #! /usr/bin/env bash
      set -e
      ```
    @fniephaus we should do that for all instances of `bash -e`, probably.

## Autoconf.

- A lot of selections, flags, and specifics where handled in dispersed `mvm` files.
- Most of which can now be handled via the _results_ of autoconf, that is
  - the `Makefile`s (with their respective flags)
  - the `config.h`
- Also, modernized a good bunch of autoconf/m4 files to more recent styles.
- And, finally, selection of OpenSSL/LibreSSL backend settings for SqueakSSL via `configure`.

### Missing here
- not all `acinclude.m4` adhere to autoconf's current style.
- Cog's options (eg, `COGMTVM`) are not yet covered.

## Tiny things

 - Improve no-op definotion of `VM_LABEL` as not to make `gcc` complain about strange expressions.

You can view, comment on, or merge this pull request online at:

  https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/226

-- Commit Summary --

  * compatibility
  * Split
  * on autoconf.
  * more autoconf
  * typo
  * Tiny improvements
  * newlines...
  * reorder
  * fix pulse
  * cosmetics
  * uuid
  * Remove hardcoded -luuid
  * autoconf best practice
  * pthread governed by configure.ac
  * not using this
  * idem
  * apparently needed
  * idem
  * Revert "idem"
  * Revert "apparently needed"
  * flags autoconf
  * yet another
  * warnings
  * warnings
  * dashes?
  * Be more standard
  * ?
  * autoconf is weird
  * wat
  * modern times
  * i don't understand
  * typos and order
  * ????
  * canonicalization
  * o_O
  * cleanup
  * asound governed by configure
  * These are actually linker flags, not libs
  * Do compiler/arch stuff via configure
  * autoheader
  * sweep through autoconf
  * bracket missing
  * missing \
  * more cleanup
  * gnusource is handled in configure
  * move around
  * fix autoconf typo
  * move around again
  * simpify and fix verstamp
  * silence a warning
  * update configure
  * tiny oss fix
  * Merge remote-tracking branch 'refs/remotes/origin/krono/openbsd' into krono/openbsd
  * fix for oss
  * be early
  * whitespace cleanup
  * :x
  * Merge remote-tracking branch 'origin/Cog' into krono/openbsd
  * execinfo in autoconf
  * improve autoconf and travis
  * improve autoconf, include limits
  * fix oss
  * on NAS
  * gcc
  * on OSS
  * not necessary anymore
  * govern largefile via autoconf
  * gen configure
  * fix use of DEBUGVM macro
  * fix install
  * fix NAS again
  * travis
  * again travis
  * ubuntu, wat
  * travis
  * travis
  * travis
  * now, travis?
  * reset somehow
  * Revert "reset somehow"
  * try again travis
  * fix finding a header
  * some gccs are newer, some are older
  * fix and gen configure
  * govern -z now via autoconf
  * fix and gen configure
  * fix configure
  * use HAVE_EXECINFO_H to identify execinfo
  * fix basic file prims header order
  * tiny fix for uuid
  * promote limits.h to sq.h
  * gen configure (uuid)
  * Merge remote-tracking branch 'origin/Cog' into krono/openbsd
  * adapt new builds

-- File Changes --

    M .travis_install.sh (12)
    M build.linux32ARMv6/newspeak.cog.spur/build.assert/mvm (7)
    M build.linux32ARMv6/newspeak.cog.spur/build.debug/mvm (7)
    M build.linux32ARMv6/newspeak.cog.spur/build/mvm (7)
    M build.linux32ARMv6/newspeak.stack.spur/build.assert/mvm (7)
    M build.linux32ARMv6/newspeak.stack.spur/build.debug/mvm (7)
    M build.linux32ARMv6/newspeak.stack.spur/build/mvm (7)
    M build.linux32ARMv6/pharo.cog.spur/build.assert/mvm (8)
    M build.linux32ARMv6/pharo.cog.spur/build.debug/mvm (8)
    M build.linux32ARMv6/pharo.cog.spur/build/mvm (8)
    M build.linux32ARMv6/squeak.cog.spur/build.assert/mvm (7)
    M build.linux32ARMv6/squeak.cog.spur/build.debug/mvm (7)
    M build.linux32ARMv6/squeak.cog.spur/build/mvm (7)
    M build.linux32ARMv6/squeak.stack.spur/build.assert/mvm (7)
    M build.linux32ARMv6/squeak.stack.spur/build.debug/mvm (7)
    M build.linux32ARMv6/squeak.stack.spur/build/mvm (7)
    M build.linux32ARMv6/squeak.stack.v3/build.assert/mvm (7)
    M build.linux32ARMv6/squeak.stack.v3/build.debug/mvm (7)
    M build.linux32ARMv6/squeak.stack.v3/build/mvm (7)
    M build.linux32ARMv7/newspeak.cog.spur/build.assert/mvm (6)
    M build.linux32ARMv7/newspeak.cog.spur/build.debug/mvm (6)
    M build.linux32ARMv7/newspeak.cog.spur/build/mvm (6)
    M build.linux32ARMv7/newspeak.stack.spur/build.assert/mvm (6)
    M build.linux32ARMv7/newspeak.stack.spur/build.debug/mvm (6)
    M build.linux32ARMv7/newspeak.stack.spur/build/mvm (6)
    M build.linux32x86/newspeak.cog.spur/build.assert.itimerheartbeat/mvm (7)
    M build.linux32x86/newspeak.cog.spur/build.assert/mvm (7)
    M build.linux32x86/newspeak.cog.spur/build.debug.itimerheartbeat/mvm (7)
    M build.linux32x86/newspeak.cog.spur/build.debug/mvm (7)
    M build.linux32x86/newspeak.cog.spur/build.itimerheartbeat/mvm (7)
    M build.linux32x86/newspeak.cog.spur/build/mvm (7)
    M build.linux32x86/newspeak.stack.spur/build.assert/mvm (7)
    M build.linux32x86/newspeak.stack.spur/build.debug/mvm (7)
    M build.linux32x86/newspeak.stack.spur/build/mvm (7)
    M build.linux32x86/nsnac.cog.spur/build.assert.itimerheartbeat/mvm (7)
    M build.linux32x86/nsnac.cog.spur/build.assert/mvm (7)
    M build.linux32x86/nsnac.cog.spur/build.debug.itimerheartbeat/mvm (7)
    M build.linux32x86/nsnac.cog.spur/build.debug/mvm (7)
    M build.linux32x86/nsnac.cog.spur/build.itimerheartbeat/mvm (7)
    M build.linux32x86/nsnac.cog.spur/build/mvm (7)
    M build.linux32x86/pharo.cog.spur.lowcode/build.assert.itimerheartbeat/mvm (7)
    M build.linux32x86/pharo.cog.spur.lowcode/build.assert/mvm (7)
    M build.linux32x86/pharo.cog.spur.lowcode/build.debug.itimerheartbeat/mvm (7)
    M build.linux32x86/pharo.cog.spur.lowcode/build.debug/mvm (7)
    M build.linux32x86/pharo.cog.spur.lowcode/build.itimerheartbeat/mvm (7)
    M build.linux32x86/pharo.cog.spur.lowcode/build/mvm (7)
    M build.linux32x86/pharo.cog.spur/build.assert.itimerheartbeat/mvm (8)
    M build.linux32x86/pharo.cog.spur/build.assert/mvm (8)
    M build.linux32x86/pharo.cog.spur/build.debug.itimerheartbeat/mvm (8)
    M build.linux32x86/pharo.cog.spur/build.debug/mvm (8)
    M build.linux32x86/pharo.cog.spur/build.itimerheartbeat/mvm (8)
    M build.linux32x86/pharo.cog.spur/build/mvm (8)
    M build.linux32x86/pharo.sista.spur/build.assert.itimerheartbeat/mvm (8)
    M build.linux32x86/pharo.sista.spur/build.assert/mvm (8)
    M build.linux32x86/pharo.sista.spur/build.debug.itimerheartbeat/mvm (8)
    M build.linux32x86/pharo.sista.spur/build.debug/mvm (8)
    M build.linux32x86/pharo.sista.spur/build.itimerheartbeat/mvm (8)
    M build.linux32x86/pharo.sista.spur/build/mvm (8)
    M build.linux32x86/pharo.stack.spur.lowcode/build.assert.itimerheartbeat/mvm (7)
    M build.linux32x86/pharo.stack.spur.lowcode/build.assert/mvm (7)
    M build.linux32x86/pharo.stack.spur.lowcode/build.debug.itimerheartbeat/mvm (7)
    M build.linux32x86/pharo.stack.spur.lowcode/build.debug/mvm (7)
    M build.linux32x86/pharo.stack.spur.lowcode/build.itimerheartbeat/mvm (7)
    M build.linux32x86/pharo.stack.spur.lowcode/build/mvm (7)
    M build.linux32x86/squeak.cog.spur.immutability/build.assert/mvm (7)
    M build.linux32x86/squeak.cog.spur.immutability/build.debug/mvm (7)
    M build.linux32x86/squeak.cog.spur.immutability/build/mvm (7)
    M build.linux32x86/squeak.cog.spur/build.assert.itimerheartbeat/mvm (7)
    M build.linux32x86/squeak.cog.spur/build.assert/mvm (7)
    M build.linux32x86/squeak.cog.spur/build.debug.itimerheartbeat/mvm (7)
    M build.linux32x86/squeak.cog.spur/build.debug/mvm (13)
    M build.linux32x86/squeak.cog.spur/build.itimerheartbeat/mvm (7)
    M build.linux32x86/squeak.cog.spur/build/mvm (7)
    M build.linux32x86/squeak.cog.v3/build.assert.itimerheartbeat/mvm (7)
    M build.linux32x86/squeak.cog.v3/build.assert/mvm (7)
    M build.linux32x86/squeak.cog.v3/build.debug.itimerheartbeat/mvm (7)
    M build.linux32x86/squeak.cog.v3/build.debug/mvm (7)
    M build.linux32x86/squeak.cog.v3/build.itimerheartbeat/mvm (7)
    M build.linux32x86/squeak.cog.v3/build.multithreaded.assert/mvm (7)
    M build.linux32x86/squeak.cog.v3/build.multithreaded.debug/mvm (7)
    M build.linux32x86/squeak.cog.v3/build.multithreaded/mvm (7)
    M build.linux32x86/squeak.cog.v3/build/mvm (7)
    M build.linux32x86/squeak.sista.spur/build.assert.itimerheartbeat/mvm (7)
    M build.linux32x86/squeak.sista.spur/build.assert/mvm (7)
    M build.linux32x86/squeak.sista.spur/build.debug.itimerheartbeat/mvm (7)
    M build.linux32x86/squeak.sista.spur/build.debug/mvm (7)
    M build.linux32x86/squeak.sista.spur/build.itimerheartbeat/mvm (7)
    M build.linux32x86/squeak.sista.spur/build/mvm (7)
    M build.linux32x86/squeak.stack.spur/build.assert/mvm (7)
    M build.linux32x86/squeak.stack.spur/build.debug/mvm (7)
    M build.linux32x86/squeak.stack.spur/build/mvm (7)
    M build.linux32x86/squeak.stack.v3/build.assert/mvm (7)
    M build.linux32x86/squeak.stack.v3/build.debug/mvm (7)
    M build.linux32x86/squeak.stack.v3/build/mvm (7)
    M build.linux64x64/newspeak.cog.spur/build.assert.itimerheartbeat/mvm (7)
    M build.linux64x64/newspeak.cog.spur/build.assert/mvm (7)
    M build.linux64x64/newspeak.cog.spur/build.debug.itimerheartbeat/mvm (7)
    M build.linux64x64/newspeak.cog.spur/build.debug/mvm (7)
    M build.linux64x64/newspeak.cog.spur/build.itimerheartbeat/mvm (7)
    M build.linux64x64/newspeak.cog.spur/build/mvm (7)
    M build.linux64x64/newspeak.stack.spur/build.assert/mvm (7)
    M build.linux64x64/newspeak.stack.spur/build.debug/mvm (7)
    M build.linux64x64/newspeak.stack.spur/build/mvm (7)
    M build.linux64x64/nsnac.cog.spur/build.assert.itimerheartbeat/mvm (7)
    M build.linux64x64/nsnac.cog.spur/build.assert/mvm (7)
    M build.linux64x64/nsnac.cog.spur/build.debug.itimerheartbeat/mvm (7)
    M build.linux64x64/nsnac.cog.spur/build.debug/mvm (7)
    M build.linux64x64/nsnac.cog.spur/build.itimerheartbeat/mvm (7)
    M build.linux64x64/nsnac.cog.spur/build/mvm (7)
    M build.linux64x64/pharo.cog.spur/build.assert.itimerheartbeat/mvm (8)
    M build.linux64x64/pharo.cog.spur/build.assert/mvm (8)
    M build.linux64x64/pharo.cog.spur/build.debug.itimerheartbeat/mvm (8)
    M build.linux64x64/pharo.cog.spur/build.debug/mvm (8)
    M build.linux64x64/pharo.cog.spur/build.itimerheartbeat/mvm (8)
    M build.linux64x64/pharo.cog.spur/build/mvm (8)
    M build.linux64x64/squeak.cog.spur.immutability/build.assert/mvm (7)
    M build.linux64x64/squeak.cog.spur.immutability/build.debug/mvm (7)
    M build.linux64x64/squeak.cog.spur.immutability/build/mvm (7)
    M build.linux64x64/squeak.cog.spur/build.assert.itimerheartbeat/mvm (7)
    M build.linux64x64/squeak.cog.spur/build.assert/mvm (7)
    M build.linux64x64/squeak.cog.spur/build.debug.itimerheartbeat/mvm (7)
    M build.linux64x64/squeak.cog.spur/build.debug/mvm (7)
    M build.linux64x64/squeak.cog.spur/build.itimerheartbeat/mvm (7)
    M build.linux64x64/squeak.cog.spur/build/mvm (9)
    M build.linux64x64/squeak.stack.spur/build.assert/mvm (7)
    M build.linux64x64/squeak.stack.spur/build.debug/mvm (7)
    M build.linux64x64/squeak.stack.spur/build/mvm (7)
    M platforms/Cross/plugins/FilePlugin/sqFilePluginBasicPrims.c (3)
    M platforms/Cross/vm/sq.h (4)
    M platforms/Mac OS/vm/config.h (1)
    M platforms/Mac OS/vm/sqMacMain.c (6)
    M platforms/Mac OS/vm/sqPlatformSpecific.h (2)
    M platforms/iOS/vm/OSX/sqPlatformSpecific.h (2)
    M platforms/iOS/vm/iPhone/sqPlatformSpecific.h (5)
    M platforms/unix/config/Makefile.in (2)
    M platforms/unix/config/acinclude.m4 (10)
    M platforms/unix/config/aclocal.m4 (13087)
    A platforms/unix/config/ax_append_flag.m4 (71)
    A platforms/unix/config/ax_cflags_warn_all.m4 (122)
    M platforms/unix/config/ax_have_epoll.m4 (4)
    A platforms/unix/config/ax_pthread.m4 (485)
    A platforms/unix/config/ax_require_defined.m4 (37)
    M platforms/unix/config/config.h.in (475)
    M platforms/unix/config/configure (41442)
    M platforms/unix/config/configure.ac (238)
    M platforms/unix/config/ltmain.sh (14963)
    M platforms/unix/config/make.cfg.in (5)
    M platforms/unix/config/make.ext.in (15)
    M platforms/unix/config/make.int.in (4)
    M platforms/unix/config/make.prg.in (13)
    M platforms/unix/config/verstamp (6)
    M platforms/unix/plugins/SoundPlugin/sqUnixSound.c (4)
    D platforms/unix/plugins/SqueakSSL/Makefile.inc (11)
    A platforms/unix/plugins/SqueakSSL/acinclude.m4 (53)
    M platforms/unix/plugins/SqueakSSL/openssl_overlay.h (2)
    A platforms/unix/plugins/SqueakSSL/sqUnixLibreSSL.inc (538)
    R platforms/unix/plugins/SqueakSSL/sqUnixOpenSSL.inc (3)
    A platforms/unix/plugins/SqueakSSL/sqUnixSSL.c (18)
    D platforms/unix/plugins/UUIDPlugin/Makefile.inc (2)
    M platforms/unix/plugins/UUIDPlugin/acinclude.m4 (35)
    M platforms/unix/vm-display-X11/acinclude.m4 (40)
    D platforms/unix/vm-sound-ALSA/Makefile.inc (1)
    M platforms/unix/vm-sound-ALSA/acinclude.m4 (9)
    M platforms/unix/vm-sound-NAS/sqUnixSoundNAS.c (102)
    M platforms/unix/vm-sound-OSS/acinclude.m4 (15)
    M platforms/unix/vm-sound-OSS/sqUnixSoundOSS.c (6)
    D platforms/unix/vm-sound-pulse/Makefile.inc (1)
    M platforms/unix/vm-sound-pulse/acinclude.m4 (8)
    M platforms/unix/vm/acinclude.m4 (43)
    M platforms/unix/vm/sqPlatformSpecific.h (2)
    M platforms/unix/vm/sqUnixMain.c (14)
    M platforms/win32/vm/sqPlatformSpecific.h (2)
    M scripts/updateSCCSVersions (5)

-- Patch Links --

https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/226.patch
https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/226.diff

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/226
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/vm-dev/attachments/20180311/ecf95666/attachment-0001.html>


More information about the Vm-dev mailing list