mirror of
				https://github.com/SoftFever/OrcaSlicer.git
				synced 2025-10-31 12:41:20 -06:00 
			
		
		
		
	Use -O1 with GCC 4.7.0-4.7.2. #1965
This commit is contained in:
		
							parent
							
								
									2738a304e8
								
							
						
					
					
						commit
						d4e97d17d5
					
				
					 1 changed files with 17 additions and 4 deletions
				
			
		
							
								
								
									
										21
									
								
								xs/Build.PL
									
										
									
									
									
								
							
							
						
						
									
										21
									
								
								xs/Build.PL
									
										
									
									
									
								
							|  | @ -3,8 +3,24 @@ | |||
| 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}) { | ||||
|     push @cflags, qw(-DSLIC3R_DEBUG -g -ftemplate-backtrace-limit=0); | ||||
| } | ||||
| 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]/) { | ||||
|         push @cflags, qw(-O1 -fcaller-saves -fcrossjumping -fcse-follow-jumps -fdevirtualize -fexpensive-optimizations -fgcse -findirect-inlining -finline-small-functions -fipa-cp -fipa-sra -foptimize-register-move -foptimize-sibling-calls -foptimize-strlen -fpartial-inlining -fpeephole2 -free -fregmove -freorder-blocks -freorder-functions -frerun-cse-after-loop -fschedule-insns2 -fstrict-aliasing -fstrict-overflow -fthread-jumps -ftree-builtin-call-dce -ftree-pre -ftree-switch-conversion -ftree-tail-merge -ftree-vrp); | ||||
|     } | ||||
| } | ||||
| 
 | ||||
| my $build = Module::Build::WithXSpp->new( | ||||
|     module_name     => 'Slic3r::XS', | ||||
|     dist_abstract   => 'XS code for Slic3r', | ||||
|  | @ -21,10 +37,7 @@ my $build = Module::Build::WithXSpp->new( | |||
|         Module::Build               0.38 | ||||
|         Module::Build::WithXSpp     0.13 | ||||
|     )}, | ||||
|     # _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 | ||||
|     extra_compiler_flags => [qw(-D_GLIBCXX_USE_C99 -DHAS_BOOL -DNOGDI -DSLIC3RXS), ($ENV{SLIC3R_DEBUG} ? ' -DSLIC3R_DEBUG -g -ftemplate-backtrace-limit=0' : '')], | ||||
|     extra_compiler_flags => \@cflags, | ||||
|      | ||||
|     # Provides extra C typemaps that are auto-merged | ||||
|     extra_typemap_modules => { | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Alessandro Ranellucci
						Alessandro Ranellucci