Compilation with an environment variable SLIC3R_HAS_BROKEN_CROAK set

will force the perl confess / croak called from a C++ code to
print an error message and exit. There is a bug in some Strawberry
Perl instalations leading to an interpreter hang up and an exit
with a reasonable message is better than that.
This commit is contained in:
bubnikv 2016-11-08 10:49:32 +01:00
parent 22ca927f12
commit eb61373b69
3 changed files with 53 additions and 0 deletions

View file

@ -42,6 +42,14 @@ if ($ENV{SLIC3R_GUI})
# push @early_includes, qw(slic3r/GUI/wxinit.h);
}
if ($ENV{SLIC3R_HAS_BROKEN_CROAK})
{
# Some Strawberry Perl builds (mainly the latest 64bit builds) have a broken mechanism
# for emiting Perl exception after handling a C++ exception. Perl interpreter
# simply hangs. Better to show a message box in that case and stop the application.
push @cflags, qw(-DSLIC3R_HAS_BROKEN_CROAK)
}
# search for Boost in a number of places
my @boost_include = ();
if (defined $ENV{BOOST_INCLUDEDIR}) {