lmi
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[lmi] wx-msw vs. wx-gtk sonames


From: Greg Chicares
Subject: [lmi] wx-msw vs. wx-gtk sonames
Date: Thu, 25 Mar 2021 19:21:08 +0000
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.4.0

Vadim--Names of installed wx libraries differ greatly between
msw and gtk. For msw, we can tell the wx SHA1 from the library
name. For gtk, we can't, which seems less good. Demonstration:

$make uninstall >/dev/null
$LMI_COMPILER=gcc ; LMI_TRIPLET=i686-w64-mingw32    ; . 
/opt/lmi/src/lmi/set_toolchain.sh
$make install >/dev/null
$ls -l /opt/lmi/bin/*wx*
-rwxrwxr-x 1 greg lmi  6207548 Mar 25 18:50 
/opt/lmi/bin/libwxcode_mswu_pdfdoc-3.1-0.dll
-rwxrwxr-x 1 greg lmi   337967 Mar 25 18:50 /opt/lmi/bin/lmi_wx_shared.exe
-rwxrwxr-x 1 greg lmi    83917 Mar 25 18:50 /opt/lmi/bin/wx_new.dll
-rwxrwxr-x 1 greg lmi 20828910 Mar 25 18:50 /opt/lmi/bin/wx_test.exe
-rwxrwxr-x 1 greg lmi 19656327 Mar 25 18:50 
/opt/lmi/bin/wxmsw314u_gcc_i686-w64-mingw32-10.0-c9486f9c.dll

$make uninstall >/dev/null
$LMI_COMPILER=gcc ; LMI_TRIPLET=x86_64-pc-linux-gnu ; . 
/opt/lmi/src/lmi/set_toolchain.sh
$make install >/dev/null  
$ls -l /opt/lmi/bin/*wx*  
-rwxrwxr-x 1 greg lmi 15900504 Mar 25 18:53 /opt/lmi/bin/libwx_gtk3u-3.1.so
-rwxrwxr-x 1 greg lmi  4666944 Mar 25 18:53 
/opt/lmi/bin/libwxcode_gtk3u_pdfdoc-3.1.so
-rwxrwxr-x 1 greg lmi   239480 Mar 25 18:53 /opt/lmi/bin/lmi_wx_shared
-rwxrwxr-x 1 greg lmi    21568 Mar 25 18:53 /opt/lmi/bin/wx_new.so
-rwxrwxr-x 1 greg lmi 20907928 Mar 25 18:53 /opt/lmi/bin/wx_test

In another chroot, I can see at a glance that wx hasn't been
rebuilt--from the msw library name (though not the gtk ones):

$ls -l /opt/lmi/bin/*wx*
-rwxrwxr-x 1 greg greg  5138947 Mar 25 11:34 
/opt/lmi/bin/libwxcode_mswu_pdfdoc-3.1-0.dll
-rwxrwxr-x 1 greg greg   718829 Mar 25 11:34 /opt/lmi/bin/lmi_wx_shared.exe
-rwxrwxr-x 1 greg greg   234749 Mar 25 11:34 /opt/lmi/bin/wx_new.dll
-rwxrwxr-x 1 greg greg 23329880 Mar 25 11:34 /opt/lmi/bin/wx_test.exe
-rwxrwxr-x 1 greg greg 20340026 Mar 25 11:34 
/opt/lmi/bin/wxmsw314u_gcc_i686-w64-mingw32-8.3.0-6cdaedd4.dll

...which also tells me which gcc version was used.

In 'install_wx.sh', the wx SHA1 and gcc version are captured
the same way for every architecture:

# Distinguish wx dll by host type, compiler version, and wx SHA1.
if [ -z "$gcc_version" ]; then
    gcc_version=$(make --no-print-directory --directory="$srcdir" 
show_gcc_version)
fi
vendor=${LMI_TRIPLET}-$gcc_version-$(git rev-parse --short HEAD:third_party/wx)

and wx is configured with:
  --enable-vendor=$vendor
so this seems to be an inconsistency in wx's own build system.
However, I conjecture that $vendor is the red-headed stepchild
of wx configuration--I've tried
  `whence wx-config` --version-full 2>&1 |less
and every other '--*' option as well as '--version-full', but
none of them gives the SHA1; and indeed there's no vendor
string in the wx-config script:

$grep 'vend' 
/opt/lmi/local/gcc_i686-w64-mingw32/lib/wx/config/i686-w64-mingw32-msw-unicode-3.1
$grep '6cdaedd4' 
/opt/lmi/local/gcc_i686-w64-mingw32/lib/wx/config/i686-w64-mingw32-msw-unicode-3.1

...so, if I want to add 'x86_64-pc-linux-gnu-10.0-c9486f9c'
into the soname, is there a better way than using $vendor?


reply via email to

[Prev in Thread] Current Thread [Next in Thread]