Menu

#62 fixes to scons Contrib stuff

closed-accepted
Plugin (47)
5
2005-05-05
2005-05-02
Paul Wise
No

allows building Contrib using scons. The change to
NSIS/Contrib/BgImage/SConscript is due to needing
memcpy. msvcrt, ntdll, ntoskrnl might also supply this.

Discussion

  • Paul Wise

    Paul Wise - 2005-05-02

    scons contrib fixage

     
  • Amir Szekely

    Amir Szekely - 2005-05-03
    • assigned_to: nobody --> kichik
     
  • Amir Szekely

    Amir Szekely - 2005-05-03

    Logged In: YES
    user_id=584402

    Thanks, applied all but the BgImage patch. If you want to
    make it use default libraries, pass nodeflib=0 on to
    BuildPlugin. But why include crtdll anyway? It doesn't use
    any functions from the CRT, only from Windows API.

     
  • Paul Wise

    Paul Wise - 2005-05-04

    Logged In: YES
    user_id=35028

    Linking with crtdll (or msvcrt, or ntdll or ntoskrnl)
    prevents the following error:

    i586-mingw32msvc-g++ -s -Wl,--file-alignment,512
    -Wl,-e,_DllMain@16 -nostdlib -Wl,--exclude-libs,msvcrt.a
    -Wl,-Map,BgImage.map -shared -o
    build/release/BgImage/libBgImage.so
    build/release/BgImage/BgImage.os -L/usr/i586-mingw32msvc/lib
    -lkernel32 -luser32 -lgdi32 -lwinmm
    build/release/BgImage/BgImage.os:BgImage.cpp:(.text+0xc4e):
    undefined reference to `_memcpy'
    build/release/BgImage/BgImage.os:BgImage.cpp:(.text+0xda3):
    undefined reference to `_memcpy'
    collect2: ld returned 1 exit status
    scons: *** [build/release/BgImage/libBgImage.so] Error 1
    scons: building terminated because of errors.

     
  • Amir Szekely

    Amir Szekely - 2005-05-05

    Logged In: YES
    user_id=584402

    Ah, that problem again. I've experienced it with the stubs
    before. That's why I've added memcpy inside #ifdef __GUNC__
    in Source\exehead\util.c. I've replaced this solution with a
    better one which works for BgImage too. I've made it so the
    gnu tools configuration set for scons will check for this
    weird memcpy requirement. If it finds it's required, it'll
    create a file called funcs.c which includes an
    implementation of memcpy and link it with every crt-less build.

    I've attached the patch so you can test it before anonymous
    CVS updates. If you want to test it, don't forget to remove
    the memcpy implementation from Source\exehead\util.c.

     
  • Amir Szekely

    Amir Szekely - 2005-05-05
    • status: open --> closed-accepted
     
  • Amir Szekely

    Amir Szekely - 2005-05-05

    SCons/Config/gnu 1.3 -> 1.4 diff

     

Log in to post a comment.