# if anything in this section fails, you need to:
#    1. go into the boost_src_dir directory.
#    2. run the command: git submodule init
#    3. run the command: git submodule update --init

submod_msg = "If this fails, you need to GO INTO YOUR checked-out boost.org repo and do: {git submodule update --init}"
ced_py_utils.enforce_dir_exists(boost_src_dir + "/libs/asio/include", submod_msg)
ced_py_utils.enforce_dir_exists(boost_src_dir + "/libs/lambda/include", submod_msg)
ced_py_utils.enforce_dir_exists(boost_src_dir + "/libs/function/include", submod_msg)
ced_py_utils.enforce_dir_exists(boost_src_dir + "/libs/smart_ptr/include", submod_msg)

# ------------ End 2nd section: make sure SUBMODULES inside boost were populated!! -------

# Third section:  begin actual work towards building boost binaries

print("about to set the boost git repo to a specific tag.")
ced_py_utils.git_repo_checkout_revision(boost_src_dir, "boost-1.58.0")
print("about to sync boost submodules (one per boost lib)." + "This could take a minute...")
ced_py_utils.git_submodule_update(boost_src_dir)

shutil.copy2(cedrus_build_script, boost_src_dir)
shutil.copy2(cedrus_boost_patch, boost_src_dir + "/tools/build")

# if applying the patch FAILS, it could just mean that you already applied it. reset to a clean revision and try again.
ced_py_utils.git_repo_apply_patch(boost_src_dir + "/tools/build", "patch_submodule_tools_build_1_58.patch")

ced_py_utils.exec_command_using_given_cwd("./cedrus_build_boost.sh", boost_src_dir)

print("reached the end of cedrus_build_boost.py")
예제 #2
0
ced_py_utils.enforce_dir_exists(boost_src_dir + '/libs/asio/include',
                                submod_msg)
ced_py_utils.enforce_dir_exists(boost_src_dir + '/libs/lambda/include',
                                submod_msg)
ced_py_utils.enforce_dir_exists(boost_src_dir + '/libs/function/include',
                                submod_msg)
ced_py_utils.enforce_dir_exists(boost_src_dir + '/libs/smart_ptr/include',
                                submod_msg)

# ------------ End 2nd section: make sure SUBMODULES inside boost were populated!! -------

# Third section:  begin actual work towards building boost binaries

print('about to set the boost git repo to a specific tag.')
ced_py_utils.git_repo_checkout_revision(boost_src_dir, 'boost-1.58.0')
print('about to sync boost submodules (one per boost lib).' +
      'This could take a minute...')
ced_py_utils.git_submodule_update(boost_src_dir)

shutil.copy2(cedrus_build_script, boost_src_dir)
shutil.copy2(cedrus_boost_patch, boost_src_dir + '/tools/build')

# if applying the patch FAILS, it could just mean that you already applied it. reset to a clean revision and try again.
ced_py_utils.git_repo_apply_patch(boost_src_dir + '/tools/build',
                                  'patch_submodule_tools_build_1_58.patch')

ced_py_utils.exec_command_using_given_cwd('./cedrus_build_boost.sh',
                                          boost_src_dir)

print("reached the end of cedrus_build_boost.py")
ced_py_utils.verify_absence_of_fink()
ced_py_utils.verify_absence_of_homebrew()
ced_py_utils.enforce_dir_exists(wx_src_dir)
ced_py_utils.enforce_dir_exists(binaries_wx_dir)

# Second section:  begin actual work towards building wx binaries

ced_py_utils.git_repo_checkout_revision(wx_src_dir, '2d853161ef87fe623')

shutil.copy2(cedrus_build_script, wx_src_dir)
shutil.copy2(cedrus_dylib_script, wx_src_dir)
shutil.copy2(cedrus_wx_patch, wx_src_dir)
shutil.copy2(cedrus_wx_patch2, wx_src_dir)
shutil.copy2(cedrus_wx_patch3, wx_src_dir)

# if applying the patch FAILS, it could just mean that you already applied it. reset to a clean revision and try again.
ced_py_utils.git_repo_apply_patch(wx_src_dir,
                                  'cedrus_patch_for_wx_v3.0.2.patch')
ced_py_utils.git_repo_apply_patch(wx_src_dir,
                                  'fix_from_http_trac.wxwidgets.org_changeset_78144.patch')
ced_py_utils.git_repo_apply_patch(wx_src_dir,
                                  'cedrus_patch_for_less_wxStackWalker.patch')

ced_py_utils.exec_command_using_given_cwd('./cedrus_build_wx.sh', wx_src_dir)

# this symlink is needed so that 'wxrc' can launch after we ran install_name_tool on the wx dylibs:
os.symlink(binaries_wx_dir + '/built_libs/bin/wxrc',
           binaries_wx_dir + '/built_libs/lib/wxrc')

print("reached the end of cedrus_build_wx.py")