From a3447eb8ed9b835efc70892f5daffffbf7948b9a Mon Sep 17 00:00:00 2001
From: Stefan Behnel <stefan_ml@behnel.de>
Date: Mon, 30 Mar 2015 20:08:09 +0200
Subject: [PATCH] lazily load embedding utility function which is normally not
 used

---
 Cython/Compiler/ModuleNode.py | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/Cython/Compiler/ModuleNode.py b/Cython/Compiler/ModuleNode.py
index 2e2385882..6eb9e9612 100644
--- a/Cython/Compiler/ModuleNode.py
+++ b/Cython/Compiler/ModuleNode.py
@@ -2338,6 +2338,7 @@ class ModuleNode(Nodes.Node, Nodes.BlockNode):
             wmain = "wmain"
         else:
             wmain = Options.embed
+        main_method = UtilityCode.load_cached("MainFunction", "Embed.c")
         code.globalstate.use_utility_code(
             main_method.specialize(
                 module_name=env.module_name,
@@ -2942,8 +2943,6 @@ bad:
 
 refnanny_utility_code = UtilityCode.load("Refnanny", "ModuleSetupCode.c")
 
-main_method = UtilityCode.load("MainFunction", "Embed.c")
-
 packed_struct_utility_code = UtilityCode(proto="""
 #if defined(__GNUC__)
 #define __Pyx_PACKED __attribute__((__packed__))
-- 
2.30.9