Opened 15 years ago

Closed 15 years ago

#20479 closed enhancement (fixed)

EiffelStudio: +precompile variant

Reported by: daniel.furrer@… Owned by: roederja@…
Priority: Normal Milestone:
Component: ports Version: 1.7.1
Keywords: precompile Cc:
Port: eiffelstudio64

Description

This patch adds a variant "precompile" that will generate precompiles for EiffelBase and EiffelVision automatically.

It also adds myself to the maintainer list.

Index: Portfile
===================================================================
--- Portfile	(Revision 54555)
+++ Portfile	(Arbeitskopie)
@@ -8,7 +8,8 @@
 set branch        [join [lrange [split ${version} .] 0 1] ""]
 categories        lang
 platforms         darwin
-maintainers       student.ethz.ch:roederja
+maintainers       student.ethz.ch:roederja \
+                  ethz.ch:dfurrer
 description       The ISE Eiffel Compiler and IDE
 long_description  EiffelStudio is a development environment for the \
                   Eiffel programming language developed by Eiffel Software. \
@@ -65,6 +66,39 @@
 
                     # Run ranlib on the libraries
                     system "ranlib ${destroot}/${applications_dir}/Eiffel${branch}/studio/spec/$env(ISE_PLATFORM)/lib/*.a"
+
+                    if {[variant_isset precompile]} {
+                      # Build the precompiles
+                      set env(ISE_EIFFEL) ${destroot}/${applications_dir}/Eiffel${branch}
+                      set compiler $env(ISE_EIFFEL)/studio/spec/$env(ISE_PLATFORM)/bin/ec
+                      ui_msg "--->  Precompiling EiffelBase"
+                      system "cd $env(ISE_EIFFEL)/precomp/spec/$env(ISE_PLATFORM) && ${compiler} -precompile -config base.ecf -c_compile -clean"
+                      system "cd $env(ISE_EIFFEL)/precomp/spec/$env(ISE_PLATFORM) && ${compiler} -precompile -config base-safe.ecf -c_compile -clean"
+                      system "cd $env(ISE_EIFFEL)/precomp/spec/$env(ISE_PLATFORM) && ${compiler} -precompile -config base-mt.ecf -c_compile -clean"
+                      system "cd $env(ISE_EIFFEL)/precomp/spec/$env(ISE_PLATFORM) && ${compiler} -precompile -config base-mt-safe.ecf -c_compile -clean"
+
+                      ui_msg "--->  Precompiling EiffelVision"
+                      system "cd $env(ISE_EIFFEL)/precomp/spec/$env(ISE_PLATFORM) && ${compiler} -precompile -config vision2.ecf -c_compile -clean"
+                      #system "cd $env(ISE_EIFFEL)/precomp/spec/$env(ISE_PLATFORM) && ${compiler} -precompile -config vision2-safe.ecf -c_compile -clean"
+                      system "cd $env(ISE_EIFFEL)/precomp/spec/$env(ISE_PLATFORM) && ${compiler} -precompile -config vision2-mt.ecf -c_compile -clean"
+                      #system "cd $env(ISE_EIFFEL)/precomp/spec/$env(ISE_PLATFORM) && ${compiler} -precompile -config vision2-mt-safe.ecf -c_compile -clean"
+
+                      # Build the precompiles
+                      set env(ISE_EIFFEL) ${applications_dir}/Eiffel${branch}
+                      set compiler $env(ISE_EIFFEL)/studio/spec/$env(ISE_PLATFORM)/bin/ec
+                      # Build the precompiles for -experimental
+                      ui_msg "--->  Precompiling EiffelBase for experimental"
+                      system "cd $env(ISE_EIFFEL)/experimental/precomp/spec/$env(ISE_PLATFORM) && ${compiler} -experiment -precompile -config base.ecf -c_compile -clean"
+                      system "cd $env(ISE_EIFFEL)/experimental/precomp/spec/$env(ISE_PLATFORM) && ${compiler} -experiment -precompile -config base-safe.ecf -c_compile -clean"
+                      system "cd $env(ISE_EIFFEL)/experimental/precomp/spec/$env(ISE_PLATFORM) && ${compiler} -experiment -precompile -config base-mt.ecf -c_compile -clean"
+                      system "cd $env(ISE_EIFFEL)/experimental/precomp/spec/$env(ISE_PLATFORM) && ${compiler} -experiment -precompile -config base-mt-safe.ecf -c_compile -clean"
+
+                      ui_msg "--->  Precompiling EiffelVision for experimental"
+                      system "cd $env(ISE_EIFFEL)/experimental/precomp/spec/$env(ISE_PLATFORM) && ${compiler} -experiment -precompile -config vision2.ecf -c_compile -clean"
+                      system "cd $env(ISE_EIFFEL)/experimental/precomp/spec/$env(ISE_PLATFORM) && ${compiler} -experiment -precompile -config vision2-safe.ecf -c_compile -clean"
+                      system "cd $env(ISE_EIFFEL)/experimental/precomp/spec/$env(ISE_PLATFORM) && ${compiler} -experiment -precompile -config vision2-mt.ecf -c_compile -clean"
+                      system "cd $env(ISE_EIFFEL)/experimental/precomp/spec/$env(ISE_PLATFORM) && ${compiler} -experiment -precompile -config vision2-mt-safe.ecf -c_compile -clean"
+	                }
                   }
 
 post-install      {
@@ -76,3 +110,7 @@
                         export PATH=\$PATH:\$ISE_EIFFEL/studio/spec/\$ISE_PLATFORM/bin:\$GOBO/../spec/\$ISE_PLATFORM/bin \n\
                         ################################################################################## \n"
                   }
+                 
+variant precompile description {Build the precompiles for EiffelBase and EiffelVision} {
+                  # Build the precompiles in the destroot phase.
+}

Attachments (1)

eiffelstudio64.patch (4.7 KB) - added by daniel.furrer@… 15 years ago.

Download all attachments as: .zip

Change History (4)

Changed 15 years ago by daniel.furrer@…

Attachment: eiffelstudio64.patch added

comment:1 Changed 15 years ago by daniel.furrer@…

Commented out two more lines. It looks like the vision2-safe precompiles don't work in 6.4.

comment:2 Changed 15 years ago by ryandesign (Ryan Carsten Schmidt)

Cc: roederja@… removed
Owner: changed from macports-tickets@… to roederja@…
Summary: Precomple variant for EiffelStudioEiffelStudio: +precompile variant

comment:3 Changed 15 years ago by roederja

Resolution: fixed
Status: newclosed

Committed in r55299 . Do you have a similar patch for eiffelstudio65 ?

Note: See TracTickets for help on using tickets.