mirror of
				https://github.com/SoftFever/OrcaSlicer.git
				synced 2025-11-02 20:51:23 -07:00 
			
		
		
		
	
		
			
				
	
	
		
			61 lines
		
	
	
	
		
			1.8 KiB
		
	
	
	
		
			Perl
		
	
	
	
	
	
			
		
		
	
	
			61 lines
		
	
	
	
		
			1.8 KiB
		
	
	
	
		
			Perl
		
	
	
	
	
	
#!/usr/bin/perl -w
 | 
						|
 | 
						|
use strict;
 | 
						|
use warnings;
 | 
						|
 | 
						|
use ExtUtils::CppGuess;
 | 
						|
use Module::Build::WithXSpp;
 | 
						|
 | 
						|
# _GLIBCXX_USE_C99 : to get the long long type for g++
 | 
						|
# HAS_BOOL         : stops Perl/lib/CORE/handy.h from doing "#  define bool char" for MSVC
 | 
						|
# NOGDI            : prevents inclusion of wingdi.h which defines functions Polygon() and Polyline() in global namespace
 | 
						|
my @cflags = qw(-D_GLIBCXX_USE_C99 -DHAS_BOOL -DNOGDI -DSLIC3RXS);
 | 
						|
if ($ENV{SLIC3R_DEBUG}) {
 | 
						|
    # only on newer GCCs: -ftemplate-backtrace-limit=0
 | 
						|
    push @cflags, qw(-DSLIC3R_DEBUG -g);
 | 
						|
}
 | 
						|
if (ExtUtils::CppGuess->new->is_gcc) {
 | 
						|
    # check whether we're dealing with a buggy GCC version
 | 
						|
    # see https://github.com/alexrj/Slic3r/issues/1965
 | 
						|
    if (`cc --version` =~ / 4\.7\.[012]/) {
 | 
						|
        # Workaround suggested by Boost devs:
 | 
						|
        # https://svn.boost.org/trac/boost/ticket/8695
 | 
						|
        push @cflags, qw(-fno-inline-small-functions);
 | 
						|
    }
 | 
						|
}
 | 
						|
 | 
						|
my $build = Module::Build::WithXSpp->new(
 | 
						|
    module_name     => 'Slic3r::XS',
 | 
						|
    dist_abstract   => 'XS code for Slic3r',
 | 
						|
    build_requires => {qw(
 | 
						|
        ExtUtils::ParseXS           3.18
 | 
						|
        ExtUtils::Typemap           1.00
 | 
						|
        ExtUtils::Typemaps::Default 1.05
 | 
						|
        ExtUtils::XSpp              0.17
 | 
						|
        Module::Build               0.3601
 | 
						|
        Test::More                  0
 | 
						|
    )},
 | 
						|
    configure_requires => {qw(
 | 
						|
        ExtUtils::CppGuess          0.07
 | 
						|
        Module::Build               0.38
 | 
						|
        Module::Build::WithXSpp     0.13
 | 
						|
    )},
 | 
						|
    extra_compiler_flags => \@cflags,
 | 
						|
    
 | 
						|
    # Provides extra C typemaps that are auto-merged
 | 
						|
    extra_typemap_modules => {
 | 
						|
        'ExtUtils::Typemaps::Basic' => '1.05',
 | 
						|
    },
 | 
						|
    
 | 
						|
    # for MSVC builds
 | 
						|
    early_includes => [qw(
 | 
						|
        cstring
 | 
						|
        cstdlib
 | 
						|
        ostream
 | 
						|
		sstream
 | 
						|
    )]
 | 
						|
);
 | 
						|
 | 
						|
$build->create_build_script;
 | 
						|
 | 
						|
__END__
 |