99精品久久精品一区二区-亚洲熟妇无码?v在线播放-日本国产精品无码字幕在线观看-久久久亚洲永夜AV-亚洲一级无码一区二区一-免费国产成高清人在线视频-中文字幕乱码免费观看-国产毛片精品妇女久久久

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運(yùn)營(yíng)的一線實(shí)戰(zhàn)洞察。

KLayout macOS 源碼構(gòu)建完全指南:build4mac.py 從模塊組合、編譯部署到 QA 測(cè)試與 DMG 打包

KLayout macOS 源碼構(gòu)建完全指南:build4mac.py 從模塊組合、編譯部署到 QA 測(cè)試與 DMG 打包 硬件開發(fā)桌面應(yīng)用圖形學(xué)【免費(fèi)下載鏈接】klayoutKLayout Main Sources項(xiàng)目地址https://gitcode.com/gh_mirrors/kl/klayout點(diǎn)擊查看免費(fèi)下載本文以 KLayout 倉庫中macbuild目錄的官方構(gòu)建說明 macbuild/ReadMe.md 為主體完整覆蓋 KLayout 0.30.9 在 macOS 上的源碼構(gòu)建全流程如何選擇 Qt5/Qt6 與 Ruby/Python 模塊組合、如何調(diào)用build4mac.py完成編譯與部署、如何用macQAT.py運(yùn)行ut_runner單元 QA 測(cè)試、以及如何用makeDMG4mac.py制作可分發(fā)的 DMG 安裝包。讀完本文你能夠在一臺(tái) Intel x86_64 或 Apple Silicon 的 Mac 上獨(dú)立復(fù)現(xiàn) KLayout 的 macOS 原生構(gòu)建并理解輸出包目錄命名ST-/LW-/HW-/EX-背后的源碼級(jí)邏輯。1. 適用系統(tǒng)與構(gòu)建目標(biāo)macbuild目錄包含構(gòu)建 KLayout適用版本 0.30.9 及以上所需的全部 macOS 構(gòu)建文件。根據(jù) macbuild/ReadMe.md 的說明當(dāng)前支持的 macOS 版本為macOS 版本狀態(tài)Golden Gate (27.x)實(shí)驗(yàn)性在 M4 Mac Mini 上驗(yàn)證Tahoe (26.x)實(shí)驗(yàn)性在 M4 Mac Mini 上驗(yàn)證Sequoia (15.x)主開發(fā)環(huán)境Sonoma (14.x)實(shí)驗(yàn)性對(duì)更早的操作系統(tǒng)Ventura 13.7.8、Monterey 12.7.6、Big Sur 11.7.10、Catalina 10.15.7、Mojave 10.14、High Sierra 10.13、Sierra 10.12、El Capitan 10.11的構(gòu)建支持已經(jīng)停止也不再提供預(yù)構(gòu)建的 DMG 包。原文檔說明這些舊系統(tǒng)中 Ventura 與 Monterey 上構(gòu)建理論上仍可能成功但已不屬于官方維護(hù)范圍。這一點(diǎn)可以從源碼得到印證macbuild/build4mac.py 中的Get_Default_Config()通過platform.uname()解析 OS 主版本號(hào)并映射為平臺(tái)名27→GoldenGate、25→Tahoe、24→Sequoia、23→Sonoma、22→Ventura、21→Monterey而對(duì)非Darwin系統(tǒng)或未列出的發(fā)行版會(huì)直接打印錯(cuò)誤并sys.exit(1)。需要特別注意的架構(gòu)限制從源碼結(jié)構(gòu)看macbuild/build4mac.py 要求機(jī)器為x86_64若檢測(cè)到arm64Apple Silicon且平臺(tái)在支持列表中則會(huì)設(shè)置環(huán)境變量QMAKE_APPLE_DEVICE_ARCHSarm64以構(gòu)建原生 ARM64 版本。原文檔指出其主線目標(biāo)機(jī)器是Intel x86_64 macOS SequoiaApple Silicon 環(huán)境的詳細(xì)構(gòu)建流程雖然與 Intel Mac 基本相同但文檔未單獨(dú)展開。2. Qt 框架的選擇KLayout 的 macOS 構(gòu)建依賴 Qt 圖形框架。原文檔給出的三種來源默認(rèn)MacPorts 的 Qt5通常位于/opt/local/libexec/qt5/Homebrew 的 Qt6通常位于/usr/local/opt/qt6/Apple Silicon 上為/opt/homebrew/opt/qt6/Anaconda3 的 Qt6安裝配置稍復(fù)雜見第 7 節(jié) 6F 用例。macbuild/build4mac_env.py 是這些模塊路徑的集中定義文件。它為每個(gè) Qt 來源定義了qmake、macdeployqt與libdir三個(gè)關(guān)鍵路徑例如Qt5MacPorts { qmake : /opt/local/libexec/qt5/bin/qmake, deploy: /opt/local/libexec/qt5/bin/macdeployqt, libdir: /opt/local/libexec/qt5/lib } Qt6Brew { qmake : %s/opt/qt6/bin/qmake % DefaultHomebrewRoot, deploy: %s/opt/qt6/bin/macdeployqt % DefaultHomebrewRoot, libdir: %s/opt/qt6/lib % DefaultHomebrewRoot }其中 Homebrew 根目錄按架構(gòu)自動(dòng)區(qū)分x86_64機(jī)器取/usr/localarm64機(jī)器取/opt/homebrew見 macbuild/build4mac_env.py。對(duì)于 Anaconda3Qt5/Qt6 分別安裝在虛擬環(huán)境klayout-qt5/klayout-qt6下x86_64 位于/Applications/anaconda3/envs/arm64 位于/opt/anaconda3/envs/Qt6 環(huán)境使用qmake6與macdeployqt6可執(zhí)行文件。原文檔還給出兩點(diǎn)重要提示Qt6 遷移仍在進(jìn)行中可用但可能遇到構(gòu)建或運(yùn)行時(shí)錯(cuò)誤構(gòu)建 KLayout 0.29.0 且使用 Homebrew 環(huán)境時(shí)必須使用 Qt6 6.7.0以解決上游報(bào)告的一個(gè) Qt5 編譯問題原文檔引用了上游 issue #1599。3. 腳本語言支持Ruby 與 Python 的模塊組合KLayout 支持 Ruby 與 Python 兩種對(duì)象腳本語言構(gòu)建時(shí)通過build4mac.py的組合參數(shù)決定綁定哪種語言、以及語言解釋器來自哪個(gè)軟件包管理器。macbuild/build4mac_env.py 按以下維度組織字典Rubynil不綁定/Sys各 macOS 版本系統(tǒng)自帶的 Ruby 2.6解釋器位于/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/bin/ruby頭文件與libruby.tbd取自 Xcode SDK 或 Command Line Tools SDK/MP34MacPorts Ruby 3.4/opt/local/bin/ruby3.4/HB34Homebrew Ruby 3.4{Homebrew 根}/opt/ruby3.4/Ana3Anaconda3 環(huán)境內(nèi)的 Ruby 3.4Pythonnil/Sys系統(tǒng) Command Line Tools 自帶的 Python 3.9框架位于/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework//MP314、MP313MacPorts Python 3.14/3.13位于/opt/local/Library/Frameworks/Python.framework//HB314、HB313、HB311Homebrew 對(duì)應(yīng)版本/HBAuto自動(dòng)探測(cè) Homebrew 中最新的 Python 3.x/Ana3Anaconda3 環(huán)境內(nèi) Python。其中HBAuto的實(shí)現(xiàn)值得注意macbuild/build4mac_env.py 用正則掃描{Homebrew 根}/opt/python*/Frameworks/Python.framework按版本號(hào)排序取最大者若系統(tǒng)完全沒有 Homebrew Python會(huì)打印 WARNING 并禁用該選項(xiàng)。每個(gè)模塊字典統(tǒng)一包含exe解釋器、inc頭文件目錄、lib動(dòng)態(tài)庫三項(xiàng)供后續(xù) qmake/make 階段生成正確的編譯鏈接參數(shù)。4. 構(gòu)建前置條件按照原文檔第 4 節(jié)構(gòu)建前需要準(zhǔn)備與目標(biāo) macOS 匹配的最新 Xcode 與 Command Line ToolsMacPorts 的 Qt5或 Homebrew / Anaconda3 的 Qt6來自 MacPorts、Homebrew 或 Anaconda3 的libgit2可選MacPorts、Homebrew 或 Anaconda3 的 Ruby 與 Python 包。對(duì)于 Ruby/Python 的具體版本匹配要求原文檔要求參考 macbuild/build4mac_env.py 中各字典項(xiàng)注釋里列出的安裝命令如sudo port install ruby34、brew install python3.14、conda install -y --override-channels -c conda-forge ruby3.4.7等。5. build4mac.py 命令行選項(xiàng)詳解macbuild/build4mac.py 是 macOS 構(gòu)建的頂層 Python 腳本操作系統(tǒng)類型會(huì)被自動(dòng)檢測(cè)-q選項(xiàng)的默認(rèn)值按平臺(tái)生成GoldenGate/Tahoe/Sequoia/Sonoma 上默認(rèn)組合為qt5macportssyssys。完整選項(xiàng)表如下繼承自原文檔第 5 節(jié) Usage of build4mac.py for building KLayout 0.30.9 or later on different Apple macOS platforms. $ [python] ./build4mac.py option argument : descriptions (refer to macbuild/build4mac_env.py for details) | default value ------------------------------------------------------------------------------------------------------- [-q|--qt type] : case-insensitive type[Qt5MacPorts, Qt5Brew, Qt5Ana3, | qt5macports : Qt6MacPorts, Qt6Brew, Qt6Ana3] | : Qt5MacPorts: use Qt5 from MacPorts | : Qt5Brew: use Qt5 from Homebrew | : Qt5Ana3: use Qt5 from Anaconda3 | : Qt6MacPorts: use Qt6 from MacPorts (*) | : Qt6Brew: use Qt6 from Homebrew (*) | : Qt6Ana3: use Qt6 from Anaconda3 (*) | : (*) migration to Qt6 is ongoing | [-r|--ruby type] : case-insensitive type[nil, Sys, MP34, HB34, Ana3] | sys : nil: dont bind Ruby | : Sys: use [GoldenGate|Tahoe|Sequoia|Sonoma]-bundled Ruby 2.6 | : MP34: use Ruby 3.4 from MacPorts | : HB34: use Ruby 3.4 from Homebrew | : Ana3: use Ruby 3.4 from Anaconda3 | [-p|--python type] : case-insensitive type[nil, Sys, MP314, HB314, Ana3, | sys : MP313, HB313, | : HB311, HBAuto] | : nil: dont bind Python | : Sys: use [GoldenGate|Tahoe|Sequoia|Sonoma]-bundled Python 3.9 | : MP314: use Python 3.14 from MacPorts | : HB314: use Python 3.14 from Homebrew | : Ana3: use Python 3.14 from Anaconda3 | : MP313: use Python 3.13 from MacPorts | : HB313: use Python 3.13 from Homebrew | : HB311: use Python 3.11 from Homebrew () | : () required to provide the legacy pip in HW-*.dmg | : HBAuto: use the latest Python 3.x auto-detected from Homebrew | [-P|--buildPymod] : build and deploy Pymod (*.whl) for LW-*.dmg | disabled [-n|--noqtbinding] : dont create Qt bindings for ruby scripts | disabled [-u|--noqtuitools] : dont include uitools in Qt binding | disabled [-s|--no32bitcoord] : dont use short (32bit) coordinates; use long (64bit) instead | disabled [-g|--nolibgit2] : dont include libgit2 for Git package support | disabled [-m|--make option] : option passed to make | --jobs4 [-d|--debug] : enable debug mode build; AddressSanitizer (ASAN) is linked | disabled [-c|--checkcom] : check command-line and exit without building | disabled [-y|--deploy] : deploy executables and dylibs, including Qts Frameworks | disabled [-Y|--DEPLOY] : deploy executables and dylibs for those who built KLayout | disabled : from the source code and use the tools in the same machine | : ! After confirmation of the successful build of klayout.app, | : rerun this script with BOTH: | : 1) the same options used for building AND | : 2) -y|--deploy OR -Y|--DEPLOY | : optionally with [-v|--verbose 0-3] | [-v|--verbose 0-3] : verbose level of macdeployqt (effective with -y only) | 1 : 0 no output, 1 error/warning (default), | : 2 normal, 3 debug | [-?|--?] : print this usage and exit; in zsh, quote like -? or --? | disabled結(jié)合源碼可以補(bǔ)充幾點(diǎn)文檔未展開的實(shí)現(xiàn)細(xì)節(jié)選項(xiàng)解析-q/-r/-p的值經(jīng)大寫化后在候選字典中查找大小寫不敏感非法取值會(huì)打印錯(cuò)誤并終止見 macbuild/build4mac.py。-y與-Y互斥兩者同時(shí)傳入會(huì)報(bào)錯(cuò)退出-yfull deploy會(huì)內(nèi)嵌 Qt及視組合內(nèi)嵌 PythonFramework-Ypartial deploy只部署可執(zhí)行文件與 dylib不內(nèi)嵌 Qt[5|6]/Ruby/Python因此適用于在本機(jī)源碼構(gòu)建、本機(jī)直接使用的場(chǎng)景。版本號(hào)來源KLayout 版本從項(xiàng)目根目錄的version.sh讀取見 macbuild/build4mac.py 的GetKLayoutVersionFrom(./version.sh)最終參與包目錄命名。-m選項(xiàng)默認(rèn)--jobs4直接透?jìng)鹘omake-d開啟 debug 模式并鏈接 AddressSanitizer。輸出包目錄命名規(guī)則源碼級(jí)解釋構(gòu)建/部署完成后產(chǎn)物位于一個(gè)形如ST-qt5MP.pkg.macos-Sequoia-C32-release-RsysPsys的目錄。目錄名由 macbuild/build4mac.py 按模板%s%s.pkg.macos-%s-%s-%s-%s % (PackagePrefix, qt, Platform, coordSize, mode, ruby_python)生成各段含義目錄名片段含義ST-標(biāo)準(zhǔn)包standard內(nèi)嵌 Qt使用系統(tǒng)自帶 Ruby 2.6 與 Python 3.9LW-輕量包lightweight不內(nèi)嵌 Qt[5|6]、Ruby、Python可加--buildPymod附帶*.whlHW-重量包heavyweight內(nèi)嵌 Qt 與 Homebrew Python 3.11 的 FrameworksEX-特殊組合exceptional不落入上述三類的模塊組合qt5MP/qt5Brew/qt5Ana3/qt6MP/qt6Brew/qt6Ana3所用 Qt 來源Sequoia等macOS 平臺(tái)名C32/C64坐標(biāo)表示為 32 位整數(shù)默認(rèn)/ 64 位整數(shù)-s選項(xiàng)release/debug構(gòu)建模式-d選項(xiàng)RsysPsys等Ruby 與 Python 模塊標(biāo)識(shí)如Rmp34Pmp314、Rhb34Phb314、RsysPhb311、Rana3Pana3從源碼結(jié)構(gòu)看前綴的判定邏輯集中在 macbuild/build4mac.py-Y一律LW--y時(shí)若 Ruby 與 Python 均為系統(tǒng)自帶則為ST-EmbedQtTrue若 Python 為 Homebrew 3.11或 HBAuto 恰好解析到 3.11則為HW-EmbedQtTrue、EmbedPython3True其余為EX-且HW-包要求 Qt 來自 MacPorts 或 HomebrewAnaconda3 的 Qt 不允許內(nèi)嵌不滿足時(shí)直接退出。6. 實(shí)戰(zhàn)用例6A6H以下各用例中的實(shí)際文件名取自 macOS Sequoia 環(huán)境在不同 macOS 上平臺(tái)名等片段會(huì)相應(yīng)變化。所有構(gòu)建用例的共同流程為*安裝依賴 → 調(diào)用build4mac.py構(gòu)建約一小時(shí)→ 用相同構(gòu)建參數(shù)加-y/-Y重新運(yùn)行以部署klayout.app內(nèi)的可執(zhí)行文件與 dylibbuddy 命令行工具 strm一并部署到klayout.app/Contents/Buddy/→ 將klayout.app拷貝到/Applications**。6A. 標(biāo)準(zhǔn)構(gòu)建系統(tǒng)自帶 Ruby/Python MacPorts Qt5安裝 MacPorts 后安裝 Qt5 與 libgit2$ sudo port install coreutils $ sudo port install findutils $ sudo port install qt5 $ sudo port install libgit2確認(rèn)系統(tǒng)自帶 Python 存在/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/*原文檔說明撰寫時(shí)該 Python 版本為3.9.6與源碼字典PythonSequoia指向的Python3.framework/Versions/3.9一致。調(diào)用構(gòu)建腳本這些選項(xiàng)在 Tahoe/Sequoia/Sonoma 上即默認(rèn)值$ cd /where/build.sh/exists $ ./build4mac.py -q qt5macports -r sys -p sys確認(rèn)構(gòu)建成功約一小時(shí)取決于機(jī)器配置。用相同選項(xiàng)加-y重新運(yùn)行將可執(zhí)行文件與庫部署到klayout.app內(nèi)$ ./build4mac.py -q qt5macports -r sys -p sys -y產(chǎn)物位于ST-qt5MP.pkg.macos-Sequoia-C32-release-RsysPsys目錄ST-標(biāo)準(zhǔn)包qt5MPMacPorts Qt5C3232 位坐標(biāo)RsysPsys系統(tǒng) Ruby 2.6 系統(tǒng) Python 3.9。 4. 將生成的klayout.app拷貝/移動(dòng)到/Applications完成安裝。6B. 全 MacPorts 構(gòu)建MacPorts Ruby 3.4 MacPorts Python 3.14安裝依賴$ sudo port install coreutils $ sudo port install findutils $ sudo port install qt5 $ sudo port install ruby34 $ sudo port install python314 $ sudo port install py314-pip $ sudo port install libgit2構(gòu)建$ cd /where/build.sh/exists $ ./build4mac.py -q qt5macports -r mp34 -p mp314確認(rèn)構(gòu)建成功。相同選項(xiàng)加-Y重新運(yùn)行以部署$ ./build4mac.py -q qt5macports -r mp34 -p mp314 -Y若在步驟 1 與步驟 3 都使用--buildPymod選項(xiàng)KLayout 獨(dú)立 Python 包*.whl將被構(gòu)建并部署到klayout.app/Contents/pymod-dist/。產(chǎn)物位于LW-qt5MP.pkg.macos-Sequoia-C32-release-Rmp34Pmp314目錄LW-輕量包Rmp34Pmp314MacPorts Ruby 3.4 MacPorts Python 3.14。 4. 將klayout.app安裝到/Applications。6C. 全 Homebrew 構(gòu)建Homebrew Ruby 3.4 Homebrew Python 3.14注意構(gòu)建 KLayout 0.29.0 需要 Qt6 6.7.0以解決上游 Qt5 編譯問題issue #1599。安裝依賴并運(yùn)行 Homebrew Python 目錄結(jié)構(gòu)整理工具 macbuild/python3HB.py該工具在{Homebrew 根}/opt/pythonver/lib/下建立Python.framework - ../Frameworks/Python.framework/的標(biāo)準(zhǔn)化符號(hào)鏈接結(jié)構(gòu)支持-v 3.11/3.12/3.13/3.14$ brew install qt6 $ brew install ruby3.4 $ brew install python3.14 $ brew install libgit2 $ cd /where/build.sh/exists $ cd macbuild $ ./python3HB.py -v 3.14構(gòu)建$ cd /where/build.sh/exists $ ./build4mac.py -q qt6brew -r hb34 -p hb314確認(rèn)構(gòu)建成功。相同選項(xiàng)加-Y部署$ ./build4mac.py -q qt6brew -r hb34 -p hb314 -Y產(chǎn)物位于LW-qt6Brew.pkg.macos-Sequoia-C32-release-Rhb34Phb314目錄。 4. 將klayout.app安裝到/Applications。警告Homebrew Python 3.12 不再提供傳統(tǒng)pip命令直接使用會(huì)報(bào)error: externally-managed-environment。按照 Homebrew 的建議應(yīng)使用虛擬環(huán)境詳見Resources/script-bundle-B.zip內(nèi)的HomebrewUser-ReadMeFirst.txt。6D. 部分 Homebrew 構(gòu)建系統(tǒng) Ruby Homebrew Python 3.11注意構(gòu)建 KLayout 0.29.0 需要 Qt6 6.7.0同 6C 的原因。安裝依賴$ brew install qt6 $ brew install python3.11 $ brew install libgit2 $ cd /where/build.sh/exists $ cd macbuild $ ./python3HB.py -v 3.11構(gòu)建$ cd /where/build.sh/exists $ ./build4mac.py -q qt6brew -r sys -p hb311確認(rèn)構(gòu)建成功。相同選項(xiàng)加-y重新運(yùn)行將可執(zhí)行文件與庫含 Qt 與 Python 兩套 Frameworks部署到klayout.app內(nèi)strm* 工具同樣部署到klayout.app/Contents/Buddy/$ ./build4mac.py -q qt6brew -r sys -p hb311 -y產(chǎn)物位于HW-qt6Brew.pkg.macos-Sequoia-C32-release-RsysPhb311目錄HW-重量包因同時(shí)內(nèi)嵌 Qt6 與 Python FrameworksRsysPhb311系統(tǒng) Ruby Homebrew Python 3.11。 4. 將klayout.app安裝到/Applications。重要目前尚不支持部署 Homebrew Ruby。因此若計(jì)劃使用-y選項(xiàng)進(jìn)行完整部署構(gòu)建時(shí)必須使用-r sys。6E. 異構(gòu)組合MacPorts Qt5 系統(tǒng) Ruby Homebrew Python 3.11注意這是構(gòu)建常用 HW*.dmg 包的另一種實(shí)用方案。分別安裝兩套依賴# MacPorts 側(cè) $ sudo port install coreutils $ sudo port install findutils $ sudo port install qt5 $ sudo port install libgit2 # Homebrew 側(cè) $ brew install python3.11 $ cd /where/build.sh/exists $ cd macbuild $ ./python3HB.py -v 3.11構(gòu)建$ cd /where/build.sh/exists $ ./build4mac.py -q qt5macports -r sys -p hb311確認(rèn)構(gòu)建成功。相同選項(xiàng)加-y部署$ ./build4mac.py -q qt5macports -r sys -p hb311 -y產(chǎn)物位于HW-qt5MP.pkg.macos-Sequoia-C32-release-RsysPhb311目錄HW-重量包內(nèi)嵌 Qt5 與 Python Frameworks。 4. 將klayout.app安裝到/Applications。6F. 全 Anaconda3 構(gòu)建Anaconda3 Ruby 3.4 Anaconda3 Python 3.13若 Anaconda3 安裝在$HOME/opt/anaconda3/或其他位置需先建立符號(hào)鏈接/Applications/anaconda3/ - $HOME/opt/anaconda3/然后按下述步驟安裝以 Intel x86_64 的Anaconda3-2025.06-0-MacOSX-x86_64.pkg為例裝到/Applications后創(chuàng)建新虛擬環(huán)境1) Create a new env klayout-qt6 (with stable solver channels) switch solver to libmamba for faster/more stable resolves $ conda install -n base -y conda-libmamba-solver $ conda config --set solver libmamba Create the environment (on this x86_64 machine it will pull osx-64 builds) $ conda create -n klayout-qt6 python3.13 -y $ conda activate klayout-qt6 In this env only, prefer conda-forge strictly (to avoid mixing) $ conda config --env --add channels conda-forge $ conda config --env --add channels defaults $ conda config --env --set channel_priority strict 2) Install Qt6 (qt6-main and qt6-multimedia) only from conda-forge Qt6 core (builds that typically include Designer/UiTools) $ conda install -y --override-channels -c conda-forge qt6-main6.9.3 $ conda install -y --override-channels -c conda-forge qt6-multimedia6.9.3 3) Additionally, install Ruby and libgit2 only from conda-forge $ conda install -y --override-channels -c conda-forge ruby3.4.7 $ conda install -y --override-channels -c conda-forge libgit21.9.1上述 conda-forge 版本約束與 macbuild/build4mac_env.py 注釋中給出的推薦完全一致qt6-main6.9.3、qt6-multimedia6.9.3、ruby3.4.7、libgit21.9.1且腳本期望的解釋器路徑即環(huán)境內(nèi)的bin/python3.13與include/python3.13見 macbuild/build4mac_env.py 的PythonAnaconda3V6。構(gòu)建$ cd /where/build.sh/exists $ ./build4mac.py -q qt6ana3 -r ana3 -p ana3確認(rèn)構(gòu)建成功。相同選項(xiàng)加-Y部署若步驟 1 與 3 均使用--buildPymod*.whl將部署到klayout.app/Contents/pymod-dist/$ ./build4mac.py -q qt6ana3 -r ana3 -p ana3 -Y產(chǎn)物位于LW-qt6Ana3.pkg.macos-Sequoia-C32-release-Rana3Pana3目錄Rana3Pana3Anaconda3 Ruby 3.4 Anaconda3 Python 3.13。 4. 將klayout.app安裝到/Applications。 5. 由于解釋器位于 conda 虛擬環(huán)境中還需要?jiǎng)?chuàng)建一個(gè) Automator 包裝應(yīng)用Launcher來啟動(dòng) KLayout詳見Resources/script-bundle-A.zip內(nèi)的Anaconda3User-ReadMeFirst.txt。6G. 其他組合除 6A6F 之外邏輯上還可以選擇其他模塊組合包括nil。選擇這類非常規(guī)組合時(shí)產(chǎn)物目錄將以EX-exceptional為前綴——這與 macbuild/build4mac.py 中的PackagePrefix EX-分支吻合。6H. 通過代理服務(wù)器使用 git 版 Salt Package Manager如果通過代理服務(wù)器使用基于 git 的 Salt Package Manager需要設(shè)置KLAYOUT_GIT_HTTP_PROXY環(huán)境變量$ export KLAYOUT_GIT_HTTP_PROXYhttp://111.222.333.444:5678代理服務(wù)器的實(shí)際 IP 與端口請(qǐng)向系統(tǒng)管理員索取。原文檔強(qiáng)烈建議將此設(shè)置放入啟動(dòng)用的 service script bundle 中示例腳本*.app.Bash可在 macbuild/Resources/script-bundle-A.zip、macbuild/Resources/script-bundle-B.zip、macbuild/Resources/script-bundle-H.zip、macbuild/Resources/script-bundle-P.zip、macbuild/Resources/script-bundle-S.zip 中找到。7. QA 測(cè)試用 macQAT.py 驅(qū)動(dòng) ut_runner構(gòu)建完成后可選地進(jìn)行 QA 測(cè)試。macOS 環(huán)境下的 QA 工作目錄為[ST|LW|HB]-build_directory.macQAT目錄中隨附macQAT.py它是ut_runner可執(zhí)行文件的包裝腳本。操作步驟繼承自原文檔第 7 節(jié)進(jìn)入 QA 工作目錄cd [ST|LW|HB]-build_directory.macQAT打印ut_runner用法./macQAT.py -u僅啟動(dòng) KLayout 主 GUI 窗口./macQAT.py -k正常運(yùn)行ut_runner./macQAT.py -r如有需要可用-x test選項(xiàng)跳過個(gè)別出錯(cuò)測(cè)試可多次使用支持逗號(hào)分隔的測(cè)試名列表。從 macbuild/macQAT.py 源碼可以看出該包裝腳本的完整能力與工作原理環(huán)境變量注入ExportEnvVariablesmacbuild/macQAT.pyTESTSRC..測(cè)試源目錄、TESTTMPQATest_Git短SHA1_時(shí)間戳_目錄名測(cè)試臨時(shí)目錄在 Darwin 上另設(shè)置DYLD_LIBRARY_PATH指向.、db_plugins、lay_plugins、pymod、MallocNanoZone0以及一組ASAN_OPTIONS關(guān)閉 leak detection、symbolize 等這解釋了QA 所需的環(huán)境變量由macQAT.py設(shè)置這一說明-u實(shí)際執(zhí)行./ut_runner --help-all-k實(shí)際執(zhí)行./klayout.app/Contents/MacOS/klayout-r默認(rèn)繼續(xù)運(yùn)行對(duì)應(yīng)ut_runner的-c-s/--stop可切換為遇錯(cuò)即停運(yùn)行日志寫入QATest_*.log支持--dryrun僅打印命令行單元測(cè)試套件本身位于 src/unit_tests 與各模塊的unit_tests子目錄如 src/db/unit_testsut_runner由 src/klayout.pro 構(gòu)建體系生成。8. 制作 DMG 安裝包使用另一個(gè) Python 腳本 macbuild/makeDMG4mac.py 可以制作 DMG 安裝包。前提該目錄是 6A6F 中以-y/-Y選項(xiàng)運(yùn)行build4mac.py生成的產(chǎn)物目錄。若尚不存在從父目錄即build.sh所在目錄為腳本建立符號(hào)鏈接makeDMG4mac.py - macbuild/makeDMG4mac.py帶-p指定包目錄與-m制作壓縮 DMG選項(xiàng)調(diào)用$ cd /where/build.sh/exists $ ./makeDMG4mac.py -p LW-qt5MP.pkg.macos-Sequoia-C32-release-Rmp34Pmp314 -m該命令生成兩個(gè)文件LW-klayout-0.30.9-macOS-Sequoia-C32-1-qt5MP-Rmp34Pmp314.dmg—— 主 DMG 文件LW-klayout-0.30.9-macOS-Sequoia-C32-1-qt5MP-Rmp34Pmp314.dmg.md5—— MD5 值文本文件。DMG 文件名中的1是 DMG 序列號(hào)可通過-s|--serial修改默認(rèn) 1。從 macbuild/makeDMG4mac.py 的 usage 可知腳本還支持-c/--clean清理工作目錄與-m互斥、-b|--bundle強(qiáng)制指定 DMG 內(nèi)的 bundle 名、-u/--unsafe跳過部分檢查慎用、-t|--targetdmg指定輸出文件名其實(shí)現(xiàn)基于create-dmg的衍生工作DMG 背景圖與卷圖標(biāo)取自 macbuild/Resources 中的 PNG 與.icns資源AppleScript 模板為 macbuild/Resources/template-KLayoutDMG.applescript。9. 已知問題與維護(hù)要點(diǎn)原文檔Known issues一節(jié)指出由于構(gòu)建腳本假定了一些特定版本的非 OS 標(biāo)準(zhǔn) Ruby/Python更新 Homebrew、MacPorts 或 Anaconda3 后可能引發(fā)構(gòu)建與鏈接錯(cuò)誤此時(shí)需要相應(yīng)更新 macbuild/build4mac_env.py 中的字典內(nèi)容如 Ruby 3.4 的 include 目錄從ruby-3.4.0變?yōu)樾掳姹咎?hào)、libruby.3.4.dylib路徑變化、Homebrew Python 框架路徑等。換言之build4mac_env.py是版本錨點(diǎn)文件第三方軟件包管理器升級(jí)后應(yīng)優(yōu)先核對(duì)該文件各字典項(xiàng)與實(shí)際安裝路徑是否一致。此外結(jié)合源碼還可以得到兩條實(shí)用結(jié)論選擇nil/非系統(tǒng)語言組合時(shí)NonOSStdLang標(biāo)志會(huì)被置位-y完整部署的可用性取決于組合類型如 HW- 包強(qiáng)制要求 Homebrew python3.11見 macbuild/build4mac.py需要部署的 KLayout 可執(zhí)行文件清單klayout及 11 個(gè) buddy 工具strm2cif、strm2dxf、strm2gds、strm2gdstxt、strm2lstr、strm2mag、strm2oas、strm2txt、strmclip、strmcmp、strmrun、strmxor定義在 macbuild/build4mac_env.py 的KLayoutExecs與原文檔中buddy 命令行工具strm*部署到klayout.app/Contents/Buddy/的說明對(duì)應(yīng)。10. 小結(jié)KLayout 的 macOS 構(gòu)建體系圍繞三個(gè)腳本協(xié)作build4mac.py構(gòu)建與部署模塊組合由build4mac_env.py的字典驅(qū)動(dòng)、macQAT.pyut_runnerQA 包裝器、makeDMG4mac.pyDMG 打包輔以python3HB.py整理 Homebrew Python 的框架目錄結(jié)構(gòu)。默認(rèn)路徑是 MacPorts Qt5 系統(tǒng) Ruby 2.6 系統(tǒng) Python 3.9 的ST-標(biāo)準(zhǔn)包追求輕量分發(fā)可選LW-組合需要自帶解釋器分發(fā)的 HW*.dmg 則選擇 Homebrew python3.11 方案。對(duì)于 Qt6 或 Python 3.13/3.14 等新組合務(wù)必以 macbuild/build4mac_env.py 中字典項(xiàng)注釋標(biāo)注的 conda-forge/MacPorts/Homebrew 具體版本號(hào)為準(zhǔn)以規(guī)避軟件包管理器升級(jí)帶來的構(gòu)建鏈接問題。贊分享硬件開發(fā)桌面應(yīng)用圖形學(xué)【免費(fèi)下載鏈接】klayoutKLayout Main Sources項(xiàng)目地址https://gitcode.com/gh_mirrors/kl/klayout點(diǎn)擊查看免費(fèi)下載相關(guān)推薦3 步裝好 eSearch跨平臺(tái)屏幕截屏與離線 OCR 工具快速上手指南3 步裝好 eSearch跨平臺(tái)屏幕截屏與離線 OCR 工具快速上手指南 eSearch 是一款覆蓋 Windows、Linux 與 macOS 的跨平臺(tái)屏幕桌面應(yīng)用OCR屏幕錄制視頻處理圖像處理NuvioDesktop從源碼構(gòu)建到發(fā)布Gradle打包MSI、DMG、DEB與Flatpak完整部署指南NuvioDesktop從源碼構(gòu)建到發(fā)布Gradle打包MSI、DMG、DEB與Flatpak完整部署指南 NuvioDesktop 是一個(gè)免費(fèi)開源的跨平臺(tái)媒RStudio macOS 源碼構(gòu)建全指南依賴安裝、Universal 雙架構(gòu)編譯與 DMG 打包實(shí)戰(zhàn)RStudio macOS 源碼構(gòu)建全指南依賴安裝、Universal 雙架構(gòu)編譯與 DMG 打包實(shí)戰(zhàn) 本文是一份面向開發(fā)者的 RStudiomacOS 平開發(fā)工具后端創(chuàng)作聲明:本文部分內(nèi)容由AI輔助生成(AIGC),僅供參考
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
亚洲综合色丁香婷婷六月| 婷婷开心激情| www色哟哟| 激情五月综合六月丁香婷婷狠狠干| 精品少妇人妻AV无码专区偷人 | 2015好吊操| 国产首页在线| 操操啪| 五月情婷婷| 五月开心婷婷网| 免费观看2018www黄色操逼网站| 天天日天天操心| 色吧五月婷婷| 丁香五月激情网| 色J香五月天| 99这里都是精品6| 亚洲综合干| 永久的网站AAAA| 激情综合99| 99热在线网站| 五月色激情综合网| www色哟哟| 九九av在线| 五月久久| 激情五月天色色| 99热久草| 九色PORNY自拍成人精彩视频| www.玖玖婷婷在线| 五月天婷婷綜合院| 99热主页日本| 婷婷导航| 丁香五月天偷拍| 久久综合中文| 九九sese| 91人人操| 色伊人啪| 久久六月综合| 久久综合图片| 五月天天综合| 激情五月天小说网| 丁香六月啪| 狠狠爱婷婷| 婷婷伊人75| 精品51XX| 色婷婷AV在线观看| 9久热在线精品| 99黄色在线视频精品熟女| 秋霞网在线观看理论91| 五月刺激丁香月综合| 99热这里有精品| 亚洲精品成人| 曰韩五月丁香色婷婷无码| 嫩草极品| 刘玥精品一区| 婷婷五月娱乐在线| 激情五月婷婷色色| 五月丁欧美| 国产另类综合| 五月丁香狠狠| 婷婷五月天堂| 成人视频一区| 日日爽夜夜爽| 亚洲综合激情五月久久| 激情五月激情综合网| 五月天丁香网| 99视频综合| 91久久免费| 婷婷色色丁香五月天| 狠狠色丁香99| 五月婷婷开心综合| 丁香六月激情| 国产欧美日韩综合精品一区二区| 久99久视频精品| 亚洲AV第二区国产精品| WWW.激情| 五月婷婷激情综合| 激情五月天综合| 五月开心网| 天天操天天插天天射| 六月丁香中文字幕| 九九婷婷五月天影视| 五月天激情国产综合婷婷婷| 色播五月婷婷| 伊人狼人干| 婷婷,五月天,丁香,第一| 天天摸夜夜爽天天做| 五月色色色| 免费无码毛片一区二区A片| 99久久www| 毛片色五月| 丁香五月激情综合| 亚洲V国产V欧美V久久久久久| 热久久999| 五月天激情综合网站| 久久精品视频在这里有| 色情婷婷| 色婷婷超碰| 日日鲁鲁夜夜爽爽| 国产精品久久久久久久久久| 五月丁香六月综合情在线观看| 久久久香| 性色综合网| 99er精品视频| 北条麻妃伊人| 99re在线这里只有精品视频首页| 色婷婷激情Av久久久| 狠狠色丁香婷婷综合久久97AV| 五月丁香婷婷啪啪| 玖玖色资源站| 五月丁香久人妻中文| 色和综合网| 久久香蕉丁香| 丁香五月成人网| 久操人| 色亚洲中文| 丁香六月激情综合| 国产熟女大叫受不了| 久久 视频这里只有精总| 开心婷婷五月| 综合99在线| 六月婷婷综合久久| 丁香久久| 91九色中文字幕女在线观看| 91久久婷婷人人澡草| 五月天天久久香| 99男人的天堂| 99久久精品免费精品国产_国产精品久久久久久_国产在线|日韩_久久国产精品电影 | 91九色首页| 国产Va视频| 99精品视频免费在线播放| 九九黄色网| 婷婷五月激情欧美大胆视频| 五月综合777| 6080av| 99热这里只有精品4| 丁香激情网| 99爱在线视频| 啪啪东京热| 丁香婷婷综合激情五月色,开心五月丁香花综合网,激情综合五月亚洲婷婷,五月天 | 九九热精品在线| 丁香九月综合| 一本色综合色| 99久久综合网| 欧美色图45678| 五月情婷婷| 国产精品成人在线| 男人的天堂五月丁香| 99啪啪视频| 久热视频A.| 五月丁香六月婷婷久久肏| 91 九色 熟女| 在线观看免费观看在线9久| 成人九九视频| 91视频久久久| 激情五月色综合| ..真实国产乱子伦对白在线_欧 | av在线播放网站| 色婷婷综合视频| 欧美精品999| 97色干| 五月天婷婷开心| 五月婷婷九九久久| 超碰免费在线| 五月婷网站| 精品久久99码| 91日综合欧美| 欧美激情综合色综合啪啪五月| 婷婷五月激情欧美大胆视频| 97热这里精品在线视频| 中文字幕视频色婷婷| 婷婷五月天影视| 97婷婷狠狠久久综合9色| AV在线大香蕉| 久热这里这里有精品| 国产肥白大熟妇BBBB视频| 91九色视频在线观看| 婷婷夜夜夜夜| 色婷婷网| 玖色色综合| 久久婷婷人人| 五月婷婷自拍视频| 婷婷久久欧美| 婷婷五月花| 日韩淑女人妻luan伦激情精品一区二| 色五月超碰| 精品久久久91久久影视网| 九九色影视| 丁香五月天天高清在线| 青青热久久综合| 久久婷婷色情7777网站| 久久五月丁香| 国产熟女一区二区三区五月婷| 色爱综合视频| 91久久久久久| 9精品视频在线| 超碰婷婷五月| 精品一区二区三区免费毛片爱| 99re热在线观看| 色婷婷丁香五月天在线视频 | 97人人看| 五月天之色情综合网| 91在线操逼视频| 欧洲色| 成人av播放| 99色在线| 五月天色婷婷激情| 狠狠色丁香久久久婷| 日本九九网| 色综合女人99| 91精品久久久久久久久久| 91久热| PORNY九色9l自拍视频成人| 热久精品| www.五月.com| 99热这里只有精品3| 热99精品视频| 国产精品视频久久99| 婷婷成人丁香色情基地30 | 六月丁香五月婷婷首页| 五月天综合久久| www.97碰碰com| 婷婷五月丁香欧洲| 夜夜天天久久婷婷| 婷色综合| 少妇性BBB搡BBB爽爽爽电影| 五月天激情国产综合婷婷婷| 色综合99| 激情深爱五月天| 成人九九视频| 欧美精品99久久久| 久久狼人天堂| 激情五月天无人视频在线| 久久桃花网色婷婷| 夜色五月天| 色婷婷色综合久久精品V| 五月婷婷色色爱| 综合99在线| 五月丁香在线观看99| 99热人人操人人操| 超碰在线网站| 六月婷婷av| 无码一区精品一区视频| 在线理论片| 激情伊人五月天| 深爱激情五月天| 操人91| 97天堂| 精品国产乱码久久久久夜深人妻 | 激情综合文学| 51精品国内探花| 久久激情天堂| 天天综合久久| 婷婷五月深爱五月| 色色五月丁香婷婷| 婷婷五月天成人| 丁香五月天91| 成人av在线网站| 开心深爱五月天| 五月激情婷婷开心| 五月丁香色色网| 激情综合网激情五月天| 九九精品丁香花| 黄色片精品| 一级片sese片.COM| 亚洲人妻五月丁香婷婷| 色狠狠综合网| 亚洲妇女熟BBW| 色色射| 九九热黄色| 色五月首页| 99re久热| 2014天天爽| 欧美五月丁香在线观看| 国产97色在线 | 日韩| 色青五月天| 婷婷成人综合免费视频| 99热一区| 日日干天天| 婷婷五月成人| 色五月婷婷影视| 夜夜涩涩涩| 丁香在线视频| 26uuu激情五月天| 久久九九色| 五月丁香啪| 91中文狠狠综合| 五月婷婷偷拍| 婷婷五月色亚洲| 97热这里只有精品| 午夜丁香婷婷| www.91AV.COM| 色婷五月天亚洲| 大香蕉婷婷五月天| 久久婷婷色综合老司机| 婷婷五月激情基地| 婷婷久久网| 丁香综合久久| 色色网站免费观看| 九九热只有精品| 丁香激情网| 性爱人人网| 六月丁香深深爱| 伊人啪啪网| 色 五月 天 婷婷 丁香 九月| 内射丰满人妻| 婷婷在线精品| 亚洲AV人人操| 国产97色在线 | 日韩| 99视频综合网| 五月天激情小说电影| 久久丁香五月天| 五月婷婷婷综合网| 亚洲色五月婷婷| 99热每日| 五月天色婷婷基地| 99热10在线高清播放| 激情综合久久| 中文字幕av在线| 26uuu成人网| 亚洲V国产V欧美V久久久久久| 五月丁香综合| 99综合久久| 手机旧版看人妻1025| 夜夜爱爱亚洲| 丁香五月区| 《亚洲操B久久免费在线观看,亚洲操B久久在线播放》在线播放 - 高清资源 - 97 | 久久这里都是精品| 国产日韩欧美| 开心久久xxx色| 日本激情91| 久久婷婷桃花五月天| 色婷婷五月网| 亚洲五月天激情| 激情精品久久| 免费无码毛片一区二区A片 | 丁香五月婷婷基地| 超碰成人在线观看| 秋霞成人毛片一级A片| 97婷婷在线| 激情五月婷婷网| 中文字幕五月久久婷婷| 极品人妻VideOssS人妻| 色色丁香五月| 激情综合网五月| 伊人久久综合| 99在线热| 久久五月天精品视频| 婷婷五月色| tingtingzonghewang| 亚洲六月综合激情久久下卡| 欧美成人性爱网| 五月天婷婷激情在线色图| 99视频激情四射| 亚洲欧洲国产精品| 99热这里| 激情九九综合网| 丁香五月九九| 丁香婷婷五月六月久久| 91五月天| 国产在线激情视频| 色中色综合| 欧美色久| 嫩草AV久久伊人妇女超级A| 五月丁香拍拍激情综合| 天天色凹凸| 精品国产va久久久| 超碰色天堂| 色色色色色色色色五月先| 天天情天天狠天天透| 办公室少妇激情呻吟A片在线观看| 五月天成人在线| 婷婷九月色| 丁香五月冃欧美| 一区三区视频有限公司| 日本精品99| 日本ww亚洲| 久久99美女精彩视频| 婷婷国产五月天17c| 婷婷五月天综合久久| 五月噜噜噜色综合| 婷婷99狠| 九九综合精品| 五月丁香九九九综合| 久草九一| 婷婷五月天激情小说| 久久久久99精品成人片| 成人网在线视频| 第五色婷婷| 色婷五月| 97狠狠色| 中文字幕丰满乱孑伦无码专区| 婷婷丁香五月亚洲17cao| 五月婷婷六月丁香| 婷婷丁香色女人| 99热这里只有精品55| 精品国产va久久久| 九九人妻福利| 亚洲成人无码网站| 变态 另类 在线 | 人妻熟妇国产精品| 天天日夜夜爽| 伊人久久丁香五月91| 26uuu精品国产| 色操综合| 拳交大逼| 天天色天天色天天色天天色天天色天天色 | 婷婷影院A成人| 26uuu成人网| 九九视频这里只有精品在线播放 | 丁香婷婷人妻| 激情爱爱网站超大免费| 婷婷情色五月| 99精品视频在线观看| 久久色9| 丝袜激情网| 天堂伊人干| 91成人电影| 国产色色色色| 婷婷五月情色| 五月丁香六月婷| 97婷婷久久丁香| 亚洲经典三级| 天天狠狠夜夜狠狠2023| 色五月婷婷在线观看| 五月色婷婷AV| www.av视频xx999.com| www.henhenl| 午夜福利8055| 玖玖色综合色| 色婷婷电影网| 日韩色色视频| 99色婷婷视频| 六月丁香久久| 99爱爱网| 激情性爱五月| 色婷婷先锋| rr天天操| 日本高清综合网五月丁香| 一二三区视频韩国| 人人天堂操| www.爱操com.| 久久婷婷成人视频| 69久久99精品久久久久婷婷| 天天综合久久| 婷婷激情视频| 99ri精品在线| 婷婷丁香色情| 激情久久五月天| 51XX午夜影福利| 91无码视频| 操一区| 国产亚洲99| 99免费成人网| 激情网第四色| 激情合网婷婷| 久久午夜理论| 五月婷婷手机在线| 天天激情站| 色99在线视频| 五月婷婷啪啪啪啪| 99热精品6| 午夜色丁香| 婷婷综合色五月天| 五月天综合久久| 猫咪伊人久久| 99热手机在线精品| 99热在线精品观看| 天天爽天天| 乱精品一区字幕二区| 色视频色综合91| www。五月,com| 亚州色综合| 影视av久久久噜噜噜噜噜三级| 天天综合色丁香| 六月色播| 99热偷拍| 丁香六月色婷婷欧美| 色综合开心五月深爱五月| 久久婷婷激情视频| 操操操AV| 大香蕉久艹| 激情五月天影院| 国产美女无遮挡裸体毛片A片 | 最新色色五月天| 久久激情视频| 2020久久婷婷五月| 欧美激情综合五月色丁香| 天天射影院| 五月激情天| 免费看欧美成人A片无码| 婷婷六月啪啪| 丁香五月综合狠狠| 久久九九99桃花视频| 99色干| 夜夜噜夜夜奇| 天天操天天操天天操天天操天天操天天操天天操天天操天天操 | 久久这里只有精品99| 热五月婷婷| 岛国av电影网站| 国产夫妻操逼内射视频| 激情文学久久| 成人在线精品| 热久久思思热思思| 五月婷五月婷伊人伊人五月婷| 日本色色网站| 婷婷五月激情基地| 九九九九精品精| Www.Av网9| 色五月天婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷 | 超碰人人操在线| 丁香五月成人网| 天天狠狠夜夜狠狠2023| 天天插插天天| 日韩成人无码人妻| 黄色高清无码| www.xtbsty.cn.com蜜乳AV| 六月丁香VA| 久热这里只有精品99re| 久久99久久99www| 日日夜夜狠狠婷婷色| 五月婷婷激情综合网| 狠狠狠狠狠狠| 五月丁香色婷婷久久| www.狠狠操.co m| 欧美影院| 五月丁香色停停啪啪啪| 色婷婷影院| 五月婷婷丁香网| 日日操夜夜撸| 大香蕉在线观看9| 人妻内射麻豆视频| 婷婷久月| 七七色综合| 欧亚洲在线高清视频| 五月丁香六月天| 五月天社区婷婷| 五月丁香六月婷婷,婷| 97人妻碰碰碰久久香蕉| 操婷婷基地| 人妻VideOssS人妻| 国产亚洲精品久久久久久久久动漫| 丁香花色色网| 色婷婷五月综合在线| CAOBIBI| 伊人婷婷激情| 韩国真做片在线观看| 激情5月舔| 色九月婷婷| 操逼视频一区| 丁五月激情视频免费| 亚洲精品a成人在线播放| 丁香五月激情宗合网| 免费婷婷| 欧美精产国品一二三区| 丁香五月激情综合| 97碰人人操| 五月激情婷婷开心| 在线超碰免费| 天天干天天玩天天夜天天射天天操天天日蜜臀少妇 | 九九热这里| 九伊人网| 欧洲亚洲午夜| 色欲久久久久久综合网综合网| 996er热| 69久热| 99热这里只有免费| 婷婷五月丁香四射| 五月婷婷中文| 日本精品干| 91avse| 婷婷五月天黄色| 色色五月天婷婷| 这里只有精品免费在线视频| 婷婷六月综合激情| 丁香五月网络网络| 99精品国产乱码久久久人妻| 狠狠五月丁香色婷| 人妻日日日| 可以免费看的av网站| 大香蕉在线观看9| 五月天激情国产综合婷婷婷| 玖玖爱资源站| 五月天成人免费视频| 婷婷在线五月天观看| a性生活久久无| 99热这里精品| 色播六月| 极品少妇高潮啪啪AV无码| 久久成人精品视频| 伊人久久大香天蕉亚洲特级| 99色干| 激情五月天在线观看婷婷| 丁香五月社区| 国产精品久久7777777精品无码| 亚洲第一成人AV| 另类图片五月天| 亚洲成人av在线| 亚洲色婷婷| 婷婷免费无视频| 午夜日日| 色婷婷五月在线| 五月天五月色| 影音先锋AV男人站| 99色在线视频| 激情五月丁香色婷婷| 丁香五月天91| 久久婷五月| 思思热99在线| 久久网日本| 色色色激情网| 九月激情综合| 99色最新在线视频| 综合网狠狠| 拍真实国产伦偷精品| 美女五月天| 他改变了拜占庭| 国产精品 的国产| 99性视频| 欧美色五月| 色在线视频网2025| 99久久久精品| 人人爽天天爽| 婷婷大香蕉| 成人做爰A片免费看视频| 五月婷综合激情| 欧洲亚洲免费视频区| 丁香激情网| 色99婷婷五月天| 婷婷五月天电影在线| 亚洲精品**不卡在线播he| 国产精品热搜丁香五月婷婷| 国产色99| 亚洲视频五区| 天天色情站| 亚洲视频在线观看| 直接看的AV网站| 久久天堂婷婷五月| 九色婷婷| 色综合五月婷婷狠狠干| 五月婷综合| 在线中文字幕视频| 中文字幕丰满人妻无码专区| 色综合久久久无码中文字幕999| 国产精品久久久久久久久久| 国产又爽又猛又粗的视频A片| 久久女婷| 超碰2021| 99日本视频| 9l视频自拍9l视频自拍九色学生| 操一区| WWW99视频| 影音先锋女人AA鲁色资源| 天天插天天射| 99精品视频免费在线播放| www.金莲av| 五月丁香六月婷婷亚洲视频| 五月丁香久久久久| 五月丁香成年黄色| 五月丁香啪啪激情| 色墦五月丁香| 99综合一区| 色五月大| 激情五月综合婷婷| 色五月网址| 色五月色图| 狠狠操狠狠插| 人人摸人人搞| 婷婷婷婷色| 性色视频| 99综合色| 伊人久久五月天| 久99久热只有精品国产99| 91九色在线| 在线中文av| www.久久久久| 激情婷婷久久| 欧美色久| 五月丁香激情怕怕| 六月丁香av| 色玖玖爱| 亚洲成人网站在线观看| 色婷婷丁香五月| 狠狠舔| 久久久妻人人人| 狠狠五月天婷婷| 丁香五月人妻熟女| 婷婷色情五月| 五月天婷婷色综合| 五月丁香婷婷综合网| 久久丁香综合| 日韩黄黄| 九九这里有精品| 欧美色五月| 婷婷综合五月| 欧美大片| 9999热免费视频视频| 日本操B片| 色色色色色五月丁香| 99久久久久| 五月综合婷婷开心网| 丁香五月网| 婷婷涩涩五月天| 啪啪操超碰| 99精品综合视频| 九九热免费视频| 欧美色必爱| 久久9精品视频| 亚洲丁香五月天在线视频| 五月婷婷综合潮喷| 影音先锋一区| 婷婷激情五月综合| 这里只有精品96| 九九热9| 婷婷五月中文字幕| 五月天无码| 丁香婷在线| 精品久久9| 97碰碰碰免费公开在线视频| 成人免费超碰| 性生活视频98791| 久久五月丁香婷婷| 99热这里只有精品搜| 伊人久久大香蕉网| 日本欧美成人片AAAA| 丁香五月激情综合久久| 人妻激情综合| 开心五月网 | 狼人久草| www.激情五月| 国内婷婷丁香社区在线播放| 亚洲视频一区| 色色网站免费观看| 日本情色一区二区| 婷婷五月天开心网| 天天肏天天肏天天肏| 九九精品亚洲| 激情丁香婷婷六月天| 99久久国产宗和精品1上映| 日本九九热| 欧美WW在线网| a网站免费观看| oumeisesewang| 激情五月婷婷色综合| 狠狠狠狠狠| 久久精品性爱视频,| 亚洲午夜在线视频| 五月丁香婷婷欧美| WWW久久久| 三年高清大片免费观看国语| 99热免| 色色五月天网站| 伊人五月天| 99久久99热这里只有精品| 免费人人操| 色五月综合| 91精品国产综合久久密臀| 开心激情网在线| 99色色最新视频| 色播色丁香五月| av九九| 日韩操| 人人干99| 国产一二区爆乳_1国产日韩一区二区三-成人AV| 99视频在线精品| 丁香五月激情六月欧亚激情综合导航 | 九九热最新| 久久久久久天天日天天爱| 91精品久| 天天插天天插| 五月天播播| 五月婷婷开心亚洲无| 丁香婷婷五月人体| 五月婷婷啪啪| 开心网五月色婷婷| 国产阿姨日皮艹逼内射视频| 亚洲视频国产一区| 99热很操老逼| 五月婷婷影院| 亚洲欧洲国产精品| 99九九玖玖| 黄色99网| 日本一毛片| 深爱五月激情| 伊人五月网| 丁香五月之久操视频| 婷婷在线午夜| 97在线/日本| 狠狠狠狠狠干| 超碰97干| 97色伦另类图片小说视频 | 亚洲性爱AV在线| 婷婷情色五月天| 美英法精品无码免费视频| 亚洲网视屏| 毛片蕉地一二| 天堂无码人妻精品AV一区| 综合久久99| 久久这里只有精品07 | 色综合久久88色综合天天99| 色情·com| 亚洲AV日韩无码| 123日本不卡在线| 亚洲欧美成人在线| 五月色色色| 欧美色色色色色| 激情WWW| 色婷婷丁香网| 4399在线观看免费毛片| 亚洲一二三网| 色五月婷婷7777| 色色色色色综合| 九九热10| 五月天婷婷激情| 无码任你操| 欧美激情凹凸丁香网| 丁香五月激情月| 五月天激情小说电影| 99久久久国产大片区| 色婷婷综合网| 二色av| 五月久久婷婷| 六月丁香激情| 九九九九九九毛片| 国产中文字幕在线视频免费观看| 精品99*| 日韩ww| 婷婷丁香成人色综合| 日韩啪啪视品| 影音先锋男人av资源站| 国产一级黄色影片,| 久久综合久色欧美综合狠狠| 少妇人妻丰满做爰XXX| a久久| 天天日天天插| 狠狠干狠狠干| 91五月天| 色狠狠色噜噜AV天堂五区| 少妇出轨做爰高潮A片| 99国产在线精品视频| 中文字幕视频色婷婷| 亚洲V国产V欧美V久久久久久| 亚洲熟妇AV乱码在线观看| 黄桃AV无码免费一区二区三区| 一二线视频 另类| 激情内射人妻1区2区3区| 久久婷婷五月综合| 丁香五月激情五月| 69精品人人人人人人人人人| 婷婷丁香日韩五月| 吾爱AV导航| 日韩精品一区二区亚洲AV观看| 一区三区视频有限公司| 五月天丁香网站| 婷婷色色狠狠| a v色婷婷| 俺去啦综合网| 丁香五月综合在线视频| 天天干天天做| 狠狠干天天日| 亚洲午夜成人av电影网| www.玖玖婷婷在线| 五月丁香啪综合| 婷婷99中文字幕| 99久99热| 五月天成人小说网| 99这里有精品| 狠狠操综合| 色五月激情五月| 五月婷婷丁香网| 超碰久热| 婷婷五月天成人影片| 思思精品视频| 中文字幕,综合,91| 五月婷丁香| 色综合网页| 婷婷涩涩五月天| 欧美婷婷五月无砖| 日本人人xxx| 日韩AV大全| 碰碰碰97国产| 99久久五月天| 天天搞夜夜爽夜夜爽| 五月丁香少妇网| 婷婷成人视频| 99这里有精品| 久草丁香婷婷五月天婷| 99久久黄色顶级视频| 色五月婷婷亚洲| 91精品久久久久久| 五月丁小婷婷激情四射| 久操人妻| 天天色综合网1| 99re思思热久久| 91人妻人人操| 久久这里这里有精品免费视频| 精品国产va久久久| 久久久久9| 狠狠色丁香婷婷五月| 国产va在线视频| 五月婷婷av| 丁香五月综合| 亚洲色婷婷五月天| 丁香六月亚洲| 日韩欧美一级大黄网站| 色五月噜噜| 美女五月天婷婷| 综合网啪| 久久R激情| 日韩久久视频| 久久婷婷五月天激情唯美| 亚洲无码九九| 六月丁香五月婷婷| 天天综合五月天| 可以直接看的AV网站| 国产67194| 91久久精品无码一区二区三区| 这里只有精品视频一区| 欧美成人va| 99精品视频在线观看| 99在线精品观看99| 五月婷婷免费在线视频| 成人无码髙潮喷水A片| 色啪影院| 丁香六月啪啪啪| 久久婷婷五月综合网| 五月婷婷与六月丁香图片激情| 丁香五月激情综合| 91九色 熟| 思思热在线精品视频网站| 欧美色九| 乱精品一区字幕二区| 国产精产国品一二三在观看| 伦乱人妻| 激情五月婷婷综合视频| 久久婷婷综合五月天| 超碰伊人碰婷婷五月| 99热只有精品综合| 伊人狠狠狠综合| 五月天精品视频| 99久在线精品99re5热视频| 深夜A片| 99热丁香| 丁香五月www| 婷婷五月综合视频免费播放| 九九色综合网| 99久久五月丁香野外| 日本五月婷| 亚洲啪啪精品| 美国天天日天天操| 色婷婷性爱网| 婷婷婷五月天最新综合你懂的| www.天天干| 色久婷婷网| 丁香婷婷视频| 毛片九九九九九九九九18| 亚洲综合婷婷六月丁香五月| 99青青草99| 国产精品久久久60086| 日本乱子人伦在线视频| 五月欧美色播| av国产精品| AV天堂淫乩| 99热这里都是精品| 久热只有这里有精品| 99爱视频在线观看这里只有精品| 婷婷午夜综合| 停停五月色宗合| 伊人www22综合色| 亚州色婷婷| 婷婷综合精品| 欧美熟女99| 丁香九月综合| 女人天堂AV| 日操| 成人精品视频99在线观看免费| 精品人妻久久久| 伊人在线大香蕉网| 九九99久久| 久久免费丁香| 色色色婷| 99视频超级精品| 日日日日日| 99久久综合精品五月天| 丁香五月花影院| 五月之婷婷| 操日视频| 婷婷色婷婷| 婷婷五月天综合色| 99久久高清视频| 伊人五月天| 97综合在线| 三年高清大片免费观看国语| 激情綜合W W W,激情五月天| 97碰碰视频在线观看| 国产精品久久久久久久久久免费 | 亚洲AV成人无码精品| 夜丁香五月婷婷| 97超级碰碰碰| 可以免费观看的AV| 激情合网婷婷| 婷婷国产五月天17c| 9999三级片| 综合狠狠干| 91丁香色五月| 亚洲天天| 日日撸日日操| 人人操97| 五月天久久色| 久久久99视频| 激情婷婷五月天伊人在线观看| 亚洲色五月婷婷| 深爱五月激情| 天天色,天天日,天天做| 六月丁香婷婷五月天| 欧美色偷偷大香| 狠狠干狠狠色| 婷婷五亚洲| 精品久久9| 在线视频九色97| 久久婷婷五月综合色奶水99啪| 色色色视频| 五月丁香婷婷婷激情爱爱| 欧美丰满熟妇BBB久久久| 五月天色影院| 思思99精品视频| 色娸娸综合网| av国产精品| 五月丁香六月香香蕉| 丁香五月婷婷天| ww亚洲ww在线观看| 97色五月丁香婷婷| 久久香蕉影院| 九九99九九99| 思思热国产| 久久6这里只有精品| 九九婷婷综合| 99视频在线看| 丁香六月在线综合| 亚洲天堂久久| 欧美久久婷婷| 夜夜骑福利资源| 99爱视频精品在线观看| 色五月婷婷91| 微拍92| 丰满少妇猛烈A片免费看观看| 我爱大香蕉| 丁香五月天堂网| 五月香六月婷| 欧洲亚洲最新精品| 欧洲毛片基地c区| 99久热在线精品99re6热| 大香蕉婷婷| 综合激情在线视频| 26UUU欧美| www激情网| 丁香六月AV| 色播婷婷五月天| 综合色影院| 五月天激情图片网| www.婷婷激情网.com| 日本乱子人伦在线视频| 婷婷99狠狠| 99久热在线精品| 精品人妻在线| 开心婷婷五月| 五月天伊人网| 无码任你操| 六月丁香激情综合| 五月婷婷久久爱| 婷婷黄色五月天在线视频| 色五月综合| 婷婷精品| 久久xxxx| 久热久色| 欧美日韩AAAAA| 久久只有这里精品免费| 日日爱678| 久久久网站| 五月丁香成人| 婷婷五月天av| 99热偷拍| 丁香五月情色| 色色日韩网| 丁香五月综合久久八| 99热超碰在线| 天天爽成人综合网站| 久久er九九| 99er6| 婷婷丁香基地在线| 丁香婷婷综合激情五月色| 激情黄色小说五月天| 天天撸天天干天天插| 97色色网| 大香蕉婷婷五月天| 日本色色色| 超碰9799| 91干网| 91色逼| 精热在线综合网| 综合激情网| 亚洲色综合性| 能看的AV| 大香蕉婷婷五月天| 强伦轩人妻一区二区电影| 久青草影院| 五月天网址在线刘玥| 婷婷丁香五月天色色| 97超碰欧美中文字幕| 嫩草视频在线观看| 色婷婷综合在线| 国产白丝在线一区| 综合激情五月综合激情五月激情1| 婷婷激情综合无月| 直接看的AV网站| 综合久久高清| 五月丁香成人网| 国产在线aaa片一区二区99| 色婷婷四虎| 色婷婷久久综合| 这里只有精品99www| 色综合天天天天做夜夜| 色综合久久88色综合天天看| 婷婷色综合| 国产亚洲成AV人片在线观黄桃| 精品无码片| 狠狠第四色| 这里只有精品视频在线观看免费| 五月丁香婷婷三级| www.henhenl| 亚洲日韩一页精品发布| 国产精品24r| 大香蕉五月丁香| 婷婷综合在线观看视频| 久久人人妻| 人人操av| 成人国产欧美大片一区| 大地资源色婷婷视频在线| 亚洲视频在线网| 国产中文字幕在线视频免费观看 | 一本久久亚洲五月婷婷| 婷婷5月开心6月| 五月丁香六月婷婷在线| 色域五月婷婷丁香| 婷婷五月色播放| www.色色色com| 婷婷丁香五月天操逼| 亚洲精品电影| 另类激情五月| 久久天天| 日本精品99网站| 九九无码| 4438全国最大视频成人网站在线观看| 99人人精品| 五月天激情小说电影| 播四月婷婷六月丁香| 思思久久精品| 大香蕉九九热| 狠狠五月天激情| 中文字幕在线免费观看视频| 天堂久久丁香| 天天综合久久| 久久色五月| 激情98色婷婷五| 婷婷大香蕉| 99碰视频| 亚洲欧美另类在线23p| 激情五月天社区| 激情丁香九九五月综合网| 国产精品久久7777777精品无码| 久久婷婷五月| 色色色9 9 9| 操嫩逼电影| av狠狠操| 丁香五月停停基地| 人人草人人视| 蜜桃人妻无码AV天堂三区| www.yw尤物| 婷婷五月天综合网| 丁香五月天婷婷大香蕉| 天天 青草 丝袜制服 在线| 久九色| 99超碰在线免费| 伍月婷婷六月丁香| 五月婷婷综合在线| 久久99网站| 丁香婷婷五月六月久久| 日本A片一区| 天堂婷婷丁香六月网| 国产精品久久久久久亚洲毛片| 99热99ai| 亚洲AV成人在线| 五月婷婷影院| 人人操人人爰人人一天天碰夜夜拍夜夜爽-中国A级毛片天天看天天谢… | 亚洲黄色精品| 五月丁香六月成人| 五月婷婷久久大香蕉| 99久热精品在线| 激情综合五月婷婷六月丁香| 超级久久久| 五月丁香激情六月| 国产精品成人网址| AAA亚洲AV| 丝袜熟女一区二区三区| 华人在线免费| 久久久久久久五月| 色色色热热热| 免费成人网在线观看| 色五月婷婷激情| 日韩人妻在线播放| 综合激情站| 色婷婷精品视频在线播放| 天天色综网| 久久婷婷五| 99性爱视频| 久婷婷五月综合欧美| 天天综合色丁香| 久久五月丁香婷婷| 99色在线视频| 丁香五月骚喷水视频| 蜜臀AV在线观看| 中文国产五月天| 久久超级碰视频| 色婷婷888| 91人妻人人做人碰人人爽九色| 五月天婷婷在线视频| 五月天成人伊人| 性爱激情综合网| 综合婷婷都市激情| 人妻激情综合| 国产精品18久久久| 丁香五月欧美色综合| 97碰成超视频免费视频| 久久激情视频| 婷婷区日本| 六月丁花香啪啪激情欧美| 色久五月天| AV在线免费播放| 亚洲中文字幕在线观看| 婷婷五月免费在线| 色综合香蕉视频| 99综合| 99视频精品8 | 99.色| 色婷婷色和| 99色在线观看| 激情综合网,婷婷| 日韩一级淫乱片一区二区三区| 激情综合网五月天| 亚洲婷婷视频| 男女av免费看| 99热丁香| 婷婷五月天777| 色婷婷狠狠久久综合五月| 天堂综合久| 九九视频这里是精品五月| 六月色 亚洲| 久久综合五月| 噜噜噜噜在线| 91丨人妻丨国产丨丝袜| 久久久久婷婷| 色五月开心开心五月激情五月| 男人的天堂五月丁香| 99视频精品| 天天色天天爱天天爱天天爱y| 婷婷成人综合| 丁香av网|