[OpenSmalltalk/opensmalltalk-vm] efb8df: always include <stdio.h> **BEFORE** defining fseek...

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

[OpenSmalltalk/opensmalltalk-vm] efb8df: always include <stdio.h> **BEFORE** defining fseek...

Eliot Miranda-3
 
  Branch: refs/heads/fix_include_order
  Home:   https://github.com/OpenSmalltalk/opensmalltalk-vm
  Commit: efb8df9a094dc7d4a072ca11de6a0a8f549d06f8
      https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/efb8df9a094dc7d4a072ca11de6a0a8f549d06f8
  Author: Nicolas Cellier <[hidden email]>
  Date:   2021-04-22 (Thu, 22 Apr 2021)

  Changed paths:
    M platforms/win32/vm/sqPlatformSpecific.h

  Log Message:
  -----------
  always include <stdio.h> **BEFORE** defining fseeko/ftello

This other way around creates a compilation error.
This way, we can include sqConfig.h and <stdio.h> in whatever order we wish.


  Commit: df03d843cd045c07a8e4b94b86e571ed47fe5fd7
      https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/df03d843cd045c07a8e4b94b86e571ed47fe5fd7
  Author: Nicolas Cellier <[hidden email]>
  Date:   2021-04-22 (Thu, 22 Apr 2021)

  Changed paths:
    M platforms/Cross/vm/sqAssert.h

  Log Message:
  -----------
  Discard the EXPORT from sqAssert.h for declaring VM functions

If we don't need to define the EXPORT in sqVirtaulMachine.h, then we don't need it either in sqAssert.h
Otherwise, it's a recipe for creating conflicting declarations and make some compilation fail
(for example building a plugin whishing to sqAssert as SQUEAK_BUILTIN_PLUGIN)
Only keep IMPORT for the case of SQUEAK_EXTERNAL_PLUGIN.


  Commit: 681219a6d830e5be94e5e2035d0f78504d8b33e6
      https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/681219a6d830e5be94e5e2035d0f78504d8b33e6
  Author: Nicolas Cellier <[hidden email]>
  Date:   2021-04-22 (Thu, 22 Apr 2021)

  Changed paths:
    M platforms/Cross/plugins/B3DAcceleratorPlugin/sqOpenGLRenderer.c
    M platforms/Cross/plugins/IA32ABI/xabicc.c
    M platforms/Cross/plugins/SoundCodecPrims/sqSoundCodecPluginBasicPrims.c
    M platforms/Cross/plugins/Squeak3D/b3dInit.c
    M platforms/Cross/plugins/Squeak3D/b3dMain.c
    M platforms/Cross/plugins/SurfacePlugin/SurfacePlugin.c
    M platforms/Cross/vm/sqHeapMap.c
    M platforms/Cross/vm/sqVirtualMachine.c
    M platforms/unix/config/getversion.c
    M platforms/unix/plugins/FileAttributesPlugin/faSupport.c
    M platforms/unix/vm/aio.c
    M platforms/unix/vm/sqUnixVMProfile.c

  Log Message:
  -----------
  Make sure that config.h is included first

This is mandatory for linux builds.
config.h is included first by sqConfig.h
sqConfig.h was included in top positions previously.
But due to compilation order problems on windows, it has been moved further.

We can remove those `#include "config.h"` if `#include "sqConfig.h"` is moved toward top again
That is once the windows problem is resolved


Compare: https://github.com/OpenSmalltalk/opensmalltalk-vm/compare/efb8df9a094d%5E...681219a6d830