lmi
[Top][All Lists]
Advanced

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

Re: [lmi] [PATCH] Add script allowing to install any wxWidgets version f


From: Greg Chicares
Subject: Re: [lmi] [PATCH] Add script allowing to install any wxWidgets version from Git
Date: Thu, 5 Apr 2018 14:43:50 +0000
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.6.0

On 2018-04-01 15:28, Vadim Zeitlin wrote:
> 
>  I've finally written and tested the script for installing wxWidgets from
> Git, please see https://github.com/vadz/lmi/pull/79

Thanks--changing from a makefile to a script was a really good idea.

There's always more for me to learn, e.g., here:
    git rev-parse --quiet --verify "$wx_commit_sha^{commit}" >/dev/null || git 
fetch $wx_git_url
where at first I thought this:
  "$wx_commit_sha^{commit}"
was a novel shell parameter substitution for environment variable $commit,
except it can't be, because that expression would by default expand to:
  41045df7ea5f93e4c07c1bd846d7127a372705bd^{commit}
so it's the "^{type} peeling operator".

I imagine that this:
  [ "$wx_skip_clean" = 1 ] || git clean -dfx
is for your personal use only, and Kim and I would normally want the default
git-clean behavior, which might derange your wx work in progress.

Here:
  gcc_version=`${mingw_bin_dir}${host_type}-gcc -dumpversion|tr -d '.\r'`
I don't think 'install_wx.make' removed '\r'; removing it might do nothing,
or might save us hours of debugging someday, so it's good. I'm not sure
why 'install_wx.make' and 'install_wx.sh' both remove any '.'; it seems
regrettable because it makes gcc-11.1.1 and gcc-11.11 indistinguishable.
Is there some msw reason? The only actual rule I know of is:
  
https://msdn.microsoft.com/en-us/library/windows/desktop/aa365247(v=vs.85).aspx
| Do not end a file or directory name with a space or a period.
Of course, msw 'explorer' truncates '\..*' so you know 'foo.htm.malware'
is a safe webpage, but no one needs to navigate here with such a tool,
so maybe we should stop removing periods here.

Would there be any practical disadvantage to changing this:
  wx_cc_flags=-fno-omit-frame-pointer
  wx_cxx_flags=$wx_cc_flags
to this:
  wx_cc_flags=-fno-omit-frame-pointer
  wx_cxx_flags=-fno-omit-frame-pointer
? The rationale in various makefiles is that this flag is crucial:
  commit 50b1e9d154014e2f75881cfcce0c4b097dfd0337
    Specify '-fno-omit-frame-pointer' to override the MinGW-w64 default,
    because that toolchain default prevents useful backtraces. See:
      https://lists.gnu.org/archive/html/lmi/2016-06/msg00091.html
      https://lists.gnu.org/archive/html/lmi/2016-07/msg00008.html
so we want it for C++ even if $wx_cc_flags is overridden. If there's
no disadvantage, I'd like to change this if only for concinnity.

The old wx makefile also specified '-std=c++11', which differs from
lmi's '-std=c++17'; is either of those relevant for wx though?

> If you already have
> a local wxWidgets repository clone, you will also want to set wx_git_url to
> the path of this repository to speed up the initial checkout (although,
> unfortunately, it won't affect the submodules, which will still have to be
> [slowly] cloned from GitHub, even if you already have them too -- of
> course, this only needs to be done once, but it's still annoying).

Is there no other way? I ask because github is sometimes unreachable,
and the lmi install* makefiles try to maintain cached copies of
everything to immunize themselves against server faults--as long as
the cache is up to date, they don't even need an internet connection.
Of course, we never had to deal with git submodules in the past. But
I'd like to hope that we could maintain a full mirror somewhere like
/srv/cache_for_lmi or "C:\cache_for_lmi" and then use that as the
source for both the "main" repository and all submodules.



reply via email to

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