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
返回資訊列表
亚洲九九视频| 人妻videos人妻高清| 香蕉婷婷| 俺去也在线www色官网| 超碰色女人| 激情六月婷婷| 99热在线这里| 六月丁香婷婷开心综合基地| 97福利视频| 久综合4| 婷婷五月综合久久中文字幕| 久草xx性爱视频| 99热国内精品| 狠狠色丁香久久婷婷综合五月| 99热精品在线观看| 99热色精品| 久久99这里只有精品| 激情五月瑟瑟| 91精品综合久久久久久五月丁香| 激情六月婷婷| 最新亚洲色色网| 99亚洲视频| 亚洲精品字幕在线观看| 天天色天天日| 色五月天.con| 久久久久久久久久91| 99热这里只有精品9| 成人精品亚洲性爱| 婷婷五月天中文字幕| 九九99视频精品| 久婷婷五月天影院| 国产激情在线| 婷婷五月天综合AV| 色色丁香色五月| AA片在线观看视频在线播放| 性爱久久| 久久人操| 激情综合久久| 九九热99熟女| 色婷婷五月在线| 97色伦另类图片小说视频| 久久久激情视频| 9久操| 亚洲字幕AV一区二区三区四区| 国产99久久久| 日韩婷婷| 婷婷综合网| 成 人 色 色| 五月色丁香综合| www.色五月.com| 九九中文色色| 激情爱爱网站超大免费| 国产色网站| 99伊人婷婷在线| 狠狠干综合| 五月天激情小说| 成人国产综合| 丁香五月激情婷婷| 欧美性生交XXXXX无码小说| 99re免费精品视频| 在线成人网址| 色婷婷香蕉| 91狠狠综合久久久| 丁香五月欧美婷婷| www.精品99| www.精品99| 五月色婷| 热这里| 狠狠操天天日| 亚洲视频图片婷婷五月| 成人电影AV在线观看| 99精吕视频在线观看了| 97热这里精品在线视频| 99精品热| 久久R激情| 久久久9久| 国产第99页| 久9免费视频| 色五月婷婷基地| 婷婷久久午夜网| 国产99精品免费视频| 色综合天天网| 91九色中文| 亚洲中文字幕av| 色五月激情网| 99久久.www| 五月伊人网| 亚洲五月天综合| 26uuu另类| 99热国产免费| 国产午夜精品AV一区二区麻豆| 激情婷婷激情在线不卡| 天天五月丁香五月| 五月草视频| 五月婷婷深深爱| 99久久久久| WWW色色色COM| 99re这里只有精品国产99| 丁香五月成人在线| 大香蕉久久| 亚洲精品又粗又大又爽A片 | 国产欧美婷婷| 这里只有精品在线观看视频| 五月天婷婷基地| 在线综合啪| 那里有AV网址| 97婷婷丁香| 免费看欧美成人A片无码| wwww.色婷婷| av在线资源| 激情二色月| 九九AV在线| 嫩草AV久久伊人妇女超级A| 婷婷的色色五月天| 婷婷视频在线| 丰满少妇猛烈A片免费看观看| 一起草aV| 日本成人噜噜| 日韩中文字幕| 天天爽在线视频| 婷婷激情社区| 99综合色色色| 六月婷婷网站| 在线观看国产高清视频免费网站 | 丁香五月偷拍| 久久精品爱爱| 激情综合亚洲| 丁香五月手机在线| 99久在线精品99re8热| 五月色丁香| 日韩色色一区| 99精品在这里| 99视频日韩| 色综合色综合婷婷热| 九九热最新| 无码成人AAAAA毛片AI换脸| 在线观看亚洲视频影院| 99这里有精品| 久草丁香婷婷五月天婷| 久久五月天婷婷| 欧类av怡春院| 我爱宗和色| 综合色播| 久久这里这里有精品免费视频| 丁香婷五月天开心六月| 色婷婷激情五月天| 激情五月天视频| 婷婷丁香五月社区亚洲| 丁香六月天之亚州热女| av婷婷六月丁香社区在线观看| 色六月天天激情综合网| 六月丁香久久| 国产寻花在线| 九九精品9| 国内婷婷丁香社区在线播放| 无码日本精品XXXXXXXXX | 在线视频你懂得| 91久久色| 91操操| 久婷婷婷| 婷婷在线播放av| 99久久九九| 色噜噜夜夜夜综合网| 天天五月天综合网址| 亚州欧美黄色电影| 天天爱综合网| 99九九99九九九视频精彩| 深爱激情丁香| 香蕉狠狠爱视频| 天天日天天插| 色色色欧美| 99日本黄站| 99ri精品视频在线观看| 伊人婷婷五月天| 五月丁香婷婷啪啪| 9999久久久久| 九九热视频免费| 色99综合色88| 激情綜合網址| 久久亚洲网| 国产欧美性成人精品午夜| 激情五月综合色婷婷| 婷婷天堂站| 五月婷婷亚洲综合网| 亚洲精品视频在线| 伊人五月天婷婷| 99操不停| 大香蕉啪啪啪| 伊人激情网| 亚洲色A| 91 久热| 五月婷婷激情综合网| 九色porny在线观看激情四射| 婷婷亚洲五月| 九九色影院| 免费AV播放| 婷婷色五月久久| 665566 无码| 色色色色色网| 婷婷五月综合色中文字幕| 九九人人操| 色播婷婷五月天| 九九热99久久99| 影音先锋91| 在线播放成人网站| 狠狠色综合无线观看| 婷婷五月综合体验看| 色啪影院| 九九在线91| 九九干视频| 色婷婷五月天中文字幕| 停停六月 综合| 久久综合五月天| 99热国产国产| 99WWW免费视频| 超碰人人色| 婷婷激情五月天视频在线| 五月停停色| 色婷婷狠狠18禁| 日本色超碰| 成人网址在线观看| 激情网开心网| 丁香五月天AV在线| 色色色色色五月| 激情五月天小说网| 99色综合| 五月天精品综合在线| 色婷婷五月影院| 久久这里只有精品热在99| 操嫩逼电影| 婷婷五月电影| 日日噜噜久久婷婷五月天| 日日.c| 综合五月激情网| 人妻人人操| 久超免费视频| 国产精品色情AAAAA片软件| 永久免费一区二区三区| 天天操,夜夜骑| 99热综合| 婷婷在线综合| 97碰成超视频免费视频| 97搞在线| 电影91久久久| 国产精产国品一二三在观看| 开心五月婷婷激情| WWW免费视频碰碰碰碰| 五月综合777| 97狠狠色| 国产老熟妇亲子乱对白| 色婷婷综合在线| 婷婷五月在线视频| 99热亚洲| 97精品综合| 亚洲美女网Va| 欧美丁香婷婷五月| 99色最新在线视频网站| 日本成人噜噜噜噜噜| 91爱啪啪| 丁香五月婷婷啪啪| 九九九热精品| 黄色AV日韩| 成人 九九九九| 亚洲性爱AV在线| 亭亭玉月丁香| 五月丁香影院| 丁香五月天电影| 久热AA| 日本三日本三级少妇三级66| 超碰免费观看| 亚洲中文AV| 日本熟妇乱妇熟色A片蜜桃| 大香蕉久| 久草婷婷| 99这里只有精品| 男人天堂99| 丁香五月天视频| 亚洲欧美999| 艹| 婷婷丁香六月影视| 激情婷婷五月色| 婷婷五月天直播| 99 热国产在| 久久99久久99精品免观看粉| 7777激情基地| 综合五月天亚洲婷婷| 九九热AV| 九九免费视频在线| 五月丁香久久激情网| 丁香五月大片| 夜夜做夜夜愛| 99热地址| 另类综合激情| 97碰 在线视频观看| 六月婷色六月| www,五月丁,com| 日本本土色网第一区| 秋霞免费三级片| 日韩ac不卡无码| 久久九色| 成人精品一区二区三区四区五区| wwccc久久久| 天天激情视频| 久久婷婷激情视频| 久久综合影院 | 婷婷深爱五月| 欧美性爱五月天| 久久大香蕉| 99热在线精品观看| 色婷婷成人做爰A片免费看网站| 天天综合永久| 欧美激情综合五月色丁香| 激情五月天激情小说| 51国精产品自偷自偷综合| 超碰资源在线| 五月天精品| 婷婷五月丁香青青草在线| 久热精彩视频98| 天堂网色色| 91玖玖| www.激情五月天.com| 五月综合777| www久热com| 婷婷五月婷婷| 亚洲精品无码一区二区| 亚洲AV电影av| 爱之国产色情综合| 激情五月狠狠| 婷婷五月天电影网| 大鸡巴伊人网| 五月丁香亚洲校园欧美| 亚洲综合狠狠艹| 亚洲综合五月天| 精品久久久人妻| 搡BBBB搡BBB搡五十| 丁香五月激情综合久久| 91精品久久久久久77777| 婷婷六月丁香色| 啪啪小说五月天| 日本啪啪网| 亚洲精品久久久久AV无码| 91a片爽| 成人婷99最新| 狠狠激情五月天| 婷婷五月天AV| 99A片| 久久免片| 69综合在线| 激情五月天在线观看色婷婷| 亚洲精品国产精品乱码视99| 99精品成人无码A片观看金桔| 久久丁香婷| 久久草大香蕉| 五月丁香网站| 人妻丰满精品一区二区A片| 开心久久网婷婷| 色综合夜夜| 色五月婷婷久久| AA丁香综合激情| 国模九区| 色婷婷色五月色丁香| 亚洲人成色A777777在线观看| www.久久| 在线婷婷| 婷婷丁香五月网| 亚洲电影在线观看| 午夜婷婷丁香| 91凹凸在线| 日本三级99人妇网站| 丁香五月婷婷黑人妻黄色电影院| 停停五月丁香| 超碰只有精品在线| 好好日激情五月天| 激情久久久| 婷婷五月激情综合啪啪| 五月天夜夜爱夜夜操| 九九av| 色情五月| 狠狠干综合网| 婷婷五月色天| 色色综合五月| 五月开行婷婷色五月| 色噜噜综合网| 99精品国产在热久久| 五月天亭亭俺也| 99热在线观看| 五月丁香六月日逼| 丁香色五月 97干| 色五月激情| 免费在线观看欧美激情xx小视频| 色婷婷播放| 亚洲AAA| 九九色影院| 色色色婷婷五月| 99re6久热只有精品6在线直播| 五月天丁香婷婷网| 婷婷免费无视频| 五月婷婷丁香| 色天天综合天天综合频道。| 中文av网| 五月婷婷开心亚洲无| 青青草原亚洲天堂| 97干网站| 涩涩涩五月天| 久久婷婷六月天| 日韩AV大全| 性生活视频98791| 九九热在线精品视频| 91高潮喷水久久久久久久久| 丁香五月婷婷激情蜜桃| 99热官网精品在线| 六月婷婷激情| 狠狠久久婷五月| 成人av在线网站| 98色花堂98t.R| 亚洲在线操| www.91色| 亚洲成色综合网站免费观看| av高清无码| 米奇影视资源婷婷狠狠色激情欧美五月丁香| 99热这里| 99热在线观看这里只有精品 | 丁香五月激情天AV无码| 婷婷久久综合| 五月综合激情综合久| 三级毛片视频| 五月丁香五月婷婷在线观看| 狠狠爱婷婷丁香| 噜噜操操| 综合五月天亚洲婷婷| 精国产品一区二区三区A片| 婷婷爱综合| 成人无码髙潮喷水A片| 99爱免费视频在线观看| 狠干综合| 天天干天天操天天爽| 久久永久网址| 在线中文AV| 五月婷婷基地| 91久久1118| 五月丁香久久| 色丁香五月天婷婷| 色婷婷免费观看| 日日夜夜狠狠| 午夜色丁香| 亚洲超级碰| 99久久久99久久91熟女| 婷婷五月天综合蜜桃| 96丁香婷婷九月蜜桃综合久久| 女人天堂 AV| 久久久久er热| 开心五月激情五月丁香五月婷婷| 色蜜婷婷| 色婷婷99| 狠狠搞狠狠操| 久久AAAA片一区二区| 九九色婷婷五月天| 99操久久| 日本成人小说婷婷六月| 丁香六月激情| 亚洲六月色| 99热资源在线| 婷婷色色播五月天| 啪啪 综合网| 狠狠干综合| 五月婷婷丁香网| 日本99久久| 伊人香大香蕉视频| 五月丁香黄色视频| 五月婷婷色激情| 国产成人AV在线| 97五月婷| 六月丁丁香| 99久久6| a在线观看| 精品日本视频444| 色综合久久44| 狠狠色婷婷777| 人人干人人干骚美女| 九97免费视频| 熟女人妻一区二区三区免费看| 亚洲va国产va天堂va综合va| 欧美韩日AAA网站| 伊人玖玖网| 丰满少妇猛烈A片免费看观看| 天天做天天爽| 婷婷五月天成人网站| www.粉嫩av.com| 99视频在线啪| 99热这里只有精品在线播放| 国产Va视频| 丁香色成人| 国内精品99| 99热亚洲| www超碰| 99视频在线精品| 久久伊人日日夜夜| 日日日日做夜夜夜夜无码| 五月婷婷,狠狠操| 色情终和网| 五月丁香色婷婷| 色五月丁香婷婷久草| 婷婷丁香人妻久久在线观看| 色情丁香五月天| 狠狠香蕉| 操碰99| 99久久亚洲国产| 国产性av| 日本操天堂| 久久久婷| 狠狠穞A片一區二區三區| 91九色国产在线| 99re8这里只有精品99re8热视频| 婷婷五月色亚洲| 思思99精品视频在线观看| 99ri久久| 久久婷婷五月综合伊人| 久婷婷五月天影院| 日韩无码乱轮| 涩涩婷婷五月| 五月天激情网址| 五月开心啪啪| 婷婷玖玖丁香| 久久大香蕉视频| 激情性爱网站| 9久久精品视频| 激情五月天福利| 色综合五月| 综合激情五月天六月婷免费视频| 久久久人妻门| 久久综合丁香激情五月| 丁香桃色网| 五月丁香六月婷婷国产视频| www.日日夜夜.com| 色五月播五月| 久久99大全| 七七色色综合| 丁香五月性| 色情婷婷| 六月丁丁香| 国产亚洲精品AAAAAAA片| 超碰99在线| 免费看欧美成人A片无码| 狠狠精品干练久久久无码中文字幕| 狼人久草| 激情婷婷丁香| 欲求不满的人妻| 激情丁香五月天图片| 免费超碰在线| 九九精品综合| 丁香蜜臀黄色婷婷五月天| 婷婷五月天AV| 美女要搞搞天天搞搞搞网站| www.激情五月天| 色色色图| 97在线精品| 色噜噜狠狠色综合日日| 天天射网站| 免费一区二区三区| 99精品97| 丁香五月AV在线| 这里只有精品在线播放| 婷婷激情五月综合| 色欲婷婷五月天| 99热这里只有精品8| 九九一区| 日日操夜夜操无码免费| 精品国产va久久久久| 欧洲激情五月天| 亚洲热久| 久久视这里只有精品| 丁香五月婷婷亚洲综合精品在线| 亚洲日日操| 综合久久影院| 中日韩美欧成人一区二区精品在线| 丁香五月瑟瑟| 91viP在线看| 伊人五月人妻精品| 丁香五月偷拍| 国产肥白大熟妇BBBB视频| 1024人妻无码中文字幕| 色婷婷免费观看| 婷婷五月天在线观看av| 99热97| 激情六月天| 嫩草哈哈操| 婷婷五月激情网| 五月噜噜| www.日日夜夜.com| 日韩久久欧亚| 狠狠色丁香综合| 丁香五月天啪啪a日本| 色噜噜狠狠色综合日日| 婷婷九九色| 婷婷色播婷婷| 色99网站| 日欧一片内射VA在线影院| 亚洲AV无码影院| 色色网站在线免费观看视频| 色五月婷婷大香蕉| 日韩人妻白浆视频系列| 色色99| 99视频在线精品免费观看2| 超碰九色| 久艹久| 色婷婷综合五月| 欧美婷婷日本| 成人AV综合在线| 天天操天天操| 99亚州综合精品成人网| 97婷婷狠狠久久综合9色| 精品国产va久| 亚洲超碰在线| 草草影院爱爱| 99免费视频网| 丰满少妇猛烈A片免费看观看| 激情av在线| 欧洲区自拍| 五月丁香六月婷婷在线小说视频| 久久综合五月天| 激情婷婷99| 2023天天日夜夜爽| 久久激情五月| 91丨九色丨高潮丰满日本| 婷婷久久综合久色| AV片一区在线观看| 91精品电影18T| 日日噜噜夜夜狠狠久久丁香六月| 超碰在线播放免费观看| 久久机热这里只有精品| 熟女人妻一区二区三区免费看| 婷婷视频网| 人人摸人人澡人人| 国产精品成人网站| 玖玖资源站蜜臀| 国产精品久久久久久喷浆| 金桔一区二区ab地址| 色私五月婷婷| 婷婷丁香亚洲色综合91| 天天做天天爱天天玩| 91丨九色丨国产打屁股网站| www开心激情网| 精品国产乱码久久久久久免费| 精品视频这里只有精品| 婷婷久久五月天| www.久久久久| 日本91在线| 91九色熟女| 99九九在线视频| 五月开心久久| 色情五月天丁香社区| 亚洲99在线| 五月激情综合网| 久久婷婷五月综合啪| 伊人激情影院| 大香蕉久久婷婷| 狼人婷婷综合| 日本综合色图| 网站免费一站二站| 色婷婷五月丁香在线观看| 久热超碰| 99aese| WWW.HENHENL.| 亚洲成人在线综合| 91婷婷在线| 另类图片天天影视在线观看| 看片视频在线免费日产在线看| www久久久| 六月丁香五月婷婷| 五月丁香直播| www,setingting| 激情VA视频| 另类国产区| 99激情在线| 色色日韩| 免费超碰在线观看| 夜夜骑夜夜撸| 99操逼视频| 婷婷五月丁香五月| 丁香五月婷婷亚洲另类| 久久伊人婷| 激情床戏| 色亚洲中文| 久草丁香婷婷1024| 丁香五月天视频| 99热主页日本| 青柠影视免费高清电视剧| 日日激情网| 九九色天堂| 特黄三级片| 激情五月天开心网丁香无码| 丁香五月亚洲综合丝袜| 成人视频在线免费播放| eeuus五月婷| 久久探花91swag| 人人人操| 五月色情网| 97久操| 精品久久久人妻| 色丁香久综合在线久综合在线观看| 91AV视频| 狠狠干综合| 丁香成人色情五月天| 综合激情在线| 日韩av变天就操逼不卡区| 人人视频人人干人人做| 婷婷五月天成人五月天| 日韩三级视频一区二区| 高清无码视频网址| 思思热精品在线观看| 91日韩在线| 一丁香五月天月AV| 五月天六月丁香| 婷婷狠狠爱| 色噜噜婷婷| 婷婷五月婷婷| 欧美综合婷婷网| 九九热99免费视频| 99在线资源视频| 九九热黄色| 色综合色综合色综合| 午夜丁香丁香婷婷| 99啪在线视频| 无码少妇高潮喷水A片免费| 婷婷五月天天爽| 人妻久久久久久久久妻久久久久| 99热青青草| 亚洲成人丁香花| 久久精彩免费视频| 思思热在线观看| 五月婷婷激情69| 99色在线视频| 小泽玛利亚视频一区二区| 免费观看全黄做爰的视频| 久久九九@| 毛片毛片毛片毛片| 激情伊人五月婷婷久久| 日韩啪啪网| 久久婷婷东京热大香樵| 超碰日韩人妻在线| 91色久| 丁香五月婷婷亚洲综合精品| 久久免费婷婷视频| 极品人妻videosss人妻| 五月天婷婷一起草| AV在线资源| 欧美丁香五月| 大香久久综合网| 青青草视频免费观看| 色色五月天婷婷| 婷婷五月,偷窥偷拍网| 五月丁香无码| 五月丁香综合久久| 六月婷婷无码| 99啪啪| 成人av在线网站| 久婷婷色| 超碰9在| 色综合久久无码| 国产av天天插天天操天天爽| 国产FREESEXVIDEOS性中国| 99热国产免费| 国产亚洲精品人人| 国产99久久久| 91在线日| 中文字幕在线播放视频| 琪琪色五月天| 色欲九区| 9l视频自拍9l九色9l成人| 久久综合五月婷婷| www.玖玖婷婷在线| 免费99色| 久久香蕉婷婷| 久色五月天| 97久久五月丁香婷婷| 激情婷婷视频在线| 99视频在线啪| 97干视频在线| 原琪琪色影院| 99综合免费视频| 五月婷婷啪啪| 精热在线综合网| wWwCom夜操wwW| 天天日天天狠狠操| 激情婷婷五六月天| 国产26uuu视频| 九九免费在线视频| 狠狠干思思热| 深爱激情综合网| 丁香五月天婷婷激情| 亚洲色色色| 日韩在线9| 成人丁香五月天| 亚洲超碰在线| 国产黄色在线观看| 欲色人妻| 在线视频99| 丁香九月婷婷综合| 丁香五月天信号| 狠狠999| 操射国产日本| 五月婷婷激情中文字幕| 六月丁香久久| 中文字幕日产A片在线看| 影音先锋日本三级资源| 一级韩国产精品毛| 毛片新网地| 色就是色婷婷五月亚洲激情| 人人干天天操五月丁香| 丁香五月综合在线观看| 久久五月天网| 五月丁香六月天| 色婷婷香蕉在线| 五月婷婷九| 色色色色欧洲| 天天综合亚洲综合| 这里只有精品视频在线| 第二色AⅤ| 久久99这里只有精品视频| 99热这里只有精品3| 97人人做| 国产偷人爽久久久久久老妇APP | 婷婷中文字幕| 国产毛片操B| 91在线操| 欧美日韩大黄| www.com五月天| 五月天大香蕉| 激情五月婷婷综合秋霞| 国产色网站| 婷婷丁香六月影视| 婷婷久久色| 99色综合| 五月色激情综合网| 在线国产精品色| 亚洲亚洲亚洲AAAAAA| 91Chinese在线| 五月激情四射网站| 秋霞成人毛片一级A片| 高清无码一区二区三区四区| 天天操天天干天天日| 超碰在线看| 五月婷婷色白丝| 久久婷婷五月国产激情综合片| 五月激情五月婷婷五月天在线| 色婷婷欧美| 99热每日| 99激情网| 91se在线观看| 五月天丁香色色| 97色婷婷成人综合在线观看| 久久这里只有国产视频| 五月天婷婷激情小说电影| 97涩婷婷婷婷基地| 亚洲五月天第一综合干| 五月天综合久久| 中文字幕日产A片在线看| h亚洲| 色五月色五天色情网| 五月婷婷综合激情| 99热超| 一本道综合网| 色色性爱视频| 1999天天操夜夜操| 婷婷五月天论坛| 狠狠干夜夜干| 综合色影| 十月色综合| 99热在线观看| 26uuu视频欧美| 五月婷婷导航| 亚洲殴洲精品Av在线| 操操操97| 日本女va| 99久在线精品99re8热| AⅤ在线播放网| 天天操夜夜夜拍拍拍| 五月婷婷色色| 日本99在线| 色深爱五月| 少妇出轨做爰高潮A片| 99热大全在线观看| 五月丁香啪啪啪综合网| 无码色综合| 婷婷丁香在线播放| 91九色熟女| 九九久久精品| 久操热| 久久久久久激情| 色五月婷婷激情基地| 这里只有精品免费观看网占| 精品国产AV色一区二区深夜久久| 99re热精品视频国| 丁香九月激情| 九九狠狠干| 99热偷拍| 六月丁香激情网| 五月天大香焦| 婷婷激情五月综合丁| 婷婷五月天激情小说| 色婷婷丁香五月| 淫视馆aV二区一区| 91碰| 中文字幕av在线播放| 欧美成人日韩| 五月丁香婷婷免费视频| 国产44页| 五月婷婷视频| 国产精品人妻在线网址| 日本丁香五月| 97热九九| 丁香蜜臀黄色婷婷五月天| 日韩黄色网络| 五月丁香激| 91丨九色丨熟女|老版| 99爱视频| 美女网黄| 色色A| 开心深爱五月天| 国产亚洲成AV人片在线观黄桃| 五月天激情网址| 岛国在线观看91| 婷婷六月花| 五月丁香色色色| 五月天开心激情综合网| www.99精品视频| 香蕉狠狠爱视频| 99精品在线| 五月丁香综合| 六月丁香五月激情网| 丁香五月天AV在线| 丁香色五月婷婷| 激情久久 婷婷| 丁香九月久久| 婷婷丁香色五月天久久88| 狠狠精品干练久久久无码中文字幕| 五月天婷婷激情干干| 色欲AVV| 色私五月婷婷| 久热无码| 午夜九九电影| 99精品丰满| 天天日天天插| 18av天堂| 五月天天丁香婷婷| 日韩在线一级| 激情www| 99在线视频在线观看| 欲求不满的人妻| 亭亭色网| 【乱子伦】黄色| 亚洲狠9| 91激情五月开心| 欧美又粗又大一区二区在线观看| 操操操97| 九九热视频在线观看| 天天插天天玩天天干| www.丁香六月婷婷久久天堂影院.con| 日韩视频99| 91精品久久久久久77777| 成人综合网站| 久久这里只精品| 亚洲婷婷丁香五月在线| 日本久久激情| 香蕉国产2013| 五月的婷婷六月丁香| 性爱网六月丁香| 色色com| 激情婷婷五月天日本系列| 精品牛仔裤超碰| 亚洲视频一区| 丁香五月欧美色综合| 色97综合婷婷天天色| 色久99| 色婷婷久久| 婷婷成人五月天成人文学| 美女va| 丁香五月婷婷亚洲激情四射| 97久久视频| 丁香五月婷婷香| 欧美激情五月天婷婷| 亚洲成人在线观看网址| 高清无码入口| 丁婷婷五月天在线播放| 久久这里面只有精品视频| 欧美在线视频9| 内射爽无广熟女亚洲| enecarbon-materials.com污K127封锁请涟系@wip1688 | www.热99热| 超碰操网| 91猫咪国产在线播放| 另类图片五月天| 久久激情五月| 亚洲人妻一区二区| 91久热| 午夜丁香 婷婷| 少妇AB又爽又紧无码网站 | 六月丁香婷婷在线波多| 色欲av伊人久久大香线蕉影院| 九九操屄| 久久婷综合| 成人短视频在线免费观看| 色婷婷色情| 热99精品视频在线观看| 久久综合五月天| www,av好吊操| 九九视频这里是精品五月| 五月天天综合| yirenjiqingshiping| 激情五月丁香五月| caop在线| 丁香五月婷婷视频| 久久99这里只有精品视频| 久久九九99| 另类激情五| 奇米影视777在线_在线观看午夜_h小视频在线观看_岛国大片 | 99九色视频在线观看| 激情综合婷婷久久| 一级黄色片看看| 日本精品久久久久中文字幕| 超碰在线观看99| 九九热最新| 欧美色色色色色色色| 丁香五月婷婷姐| 激情5月舔| 五月丁香免费视频| 亚洲乱码w在线观看| 另类国产欧美视频| 五月激香蕉网| 国产古装妇女野外A片| 天天色天天日| 欧美99热| 99啪| 欧美色97| 五月婷丁香| 五月天亭亭俺也| 开心五月深爱婷婷| 国产精品成人av在线观看春天| 五月丁香六月色情网欧美| 六月丁香视频网站| 五月天开心激情网色欲无码| 久操婷婷| 亚洲九九夜夜| 超碰在线人妻| VA色婷婷| 操97| 婷婷中文字幕| 欧美A级网站| 伊人婷婷青青cao| 日本色频| 五月天国产成人| 26uuu.| 丁香月五月天婷婷久久| 久久99热这里| 丁香久久AV| 伊人狠狠狠综合| 狠狠狠狠狠草| 久久视频这里99| 色导航色婷婷五月天在线观看| 色情五月婷婷| 9热在线观看| 91久久综合亚洲鲁鲁五月天| 中美日韩成人在线| 69精品人人人人| 极品人妻VideOssS人妻| 亚洲中文字幕av| 中文字幕日产A片在线看| 五月丁香婷婷成人网| 伊人九热| 国产婷婷五月| 99在线资源| 色色色色色热| 日本精品。999| 呦呦视频无码播放| 五月天综合视频| 99资源在线视频| 九九香蕉网| 久久五月婷婷开心网| 69色色视频| 欧美狠狠色| 色色色干| 99久久婷婷国产综合精品草原| 中文字幕乱码亚洲精品一区| 六月丁香婷婷爱| 小色小蛇伊人婷婷色香五月| 色综合婷婷| 丁香五月天婷婷久久| 久久视频这里99| 日本视频99| 成功精品影院| 97碰 在线视频观看| 69久久99精品久久久久| 激情综合青草| 色日本网| www.精品99| 北京熟妇搡BBBB搡BBBB| 人人操9| 激情床戏| 日韩av大全| 五月婷婷啪啪| 久久人妻精品| 丁香五月婷婷影视先锋| 中文字幕,综合,91| 激情精品久久| 五月婷婷六月丁香综合| 婷婷久久亚洲| 影音先锋91在线资源站| 九九99男女视频在线观看| 丁香五月花婷婷开心| 五月婷婷开心丁香| 99在线69| 九九九激情网| 中美日韩成人在线| 久久婷婷欧美| 久久人人九九| 一二线视频 另类| 国产白丝在线一区| 99视频精品8 | 综合婷婷五月天| 91精品久久久久久77777| 亚洲欧美日韩另类| 天天操天天日天天爱| 国产精品五月天婷婷| 五月色色色| 色五月综合网站| 欧美噜噜噜草| 深爱激清网| 丁香五月色| 我去色色网五雨天| 色婷婷综合五月| 97干在线播放| 射满了还射免费在线观看 -午夜版全集-新视觉影院 | 狠狠激情五月天| 天天日天天舔| 日韩国产在线免费观看| 激情五月综亚网| 五月天色综合| 伊综合蕉| 天天舔夜夜操www com| 播五月丁香三月婷婷| 免费看成人AA片无码视频吃奶| 区美毛片子| 丁香六月婷婷一区二区三区| 99久久99久久综合| 七七九色| 狠狠色噜噜色狠狠狠综合久久成人波| 99人人干| 色婷久九| 99热久久这里只有精品2010| 天天插天天干| 五月婷婷人人人操| 五月婷六月| 日产精品一线二线三线芒果| 91狠狠综合久久久| 亚洲第一综合| 久久丁香婷| 99 这里只有精品| 五月天com| 日韩在线视频中文字幕| 五月激情综合美女久久| 精品久久穴| 成人五月天婷婷| 亚洲国产成人在线| 久久久久婷| 亚洲日日操| 青青久久五月| 五月丁香色五月| 色播综合| 婷婷99| 激情另类综合| 五月婷久久草| 成人精品亚洲性爱| 97成人丁香| 久热这里只有精品视频6| 蜜桃人妻无码AV天堂三区| 丁香五月婷婷狠狠色| 成人婷99最新| 国内一级精品| 久色大| www.AV在线| 婷婷六月丁香欧美视频在线| 五月丁香久久综合| 综合色播| 91人无码久久久久久| 色婷婷在线视频综合| 成人美女网| 欧美激情五月天在线观看| 色色色999| 99这里有精品久久97| 久久久18| 婷婷五月情| 99精品国产热久久91色欲| 久久免费操| 久久久.COM| 欧美色宗和激情| 啪啪激情网| 中文字幕黄色片| 啪啪91| 97av在线视频| 婷婷五月六月| 激情图片亚洲| www.99热| 狠狠人妻久久久久久综合丁香| 202丰满熟女妇大| 操逼福利视频| 天天草女人| 日本 @ va 免费| 激情文学 综合 九月| 婷婷九月丁香| 超碰猛烈的性猛交| 五月婷中文字幕| 色婷五月天| 超碰人人在线| 中文无码精品一区二区三区| 专区无日本视频高清8| 亚洲一区二区无码蜜乳av| 91色色色视频| pacopacomama 070722_670 素人奥様初撮りドキュメント 103 大久保純子 | 久久这里只有精品99| 日本WWW九九九| 午夜天堂啪啪| 激情五月图| 九八Av| 婷婷金品综合视频| 婷婷丁香成人五月天| 九九综合九九| 操操操av| 91人人爱| 亚洲色频| www.五月婷婷| 99ER热精品视频| 涩五月色婷婷| 婷婷色五月激情强奸四射| 思思热精品在线视频| 九九视频这里是精品五月| 日韩乱轮AV| 精品丁香五月天在线播放| 成人片在线播放| 欧美色综合天天久久综合精品| 婷婷射图五月天| 国产一区18| 开心婷婷五月| 色色色色色爱| 久婷久婷| 九九综合| 亚洲热热视频| 欧美日综合| 国产视频色色色色色色色| 色婷婷五月天久久| 97av在线视频| 丁香五月天AV在线| 欧洲亚洲午夜| 99er6| 成人免费视频一区| 99热亚洲| 亚洲第一精品成人999久久精品| 五月丁香婷婷色色色| 成人无码髙潮喷水A片| 久久美女五月天| 99激情网| 九九热青青草| 色色A| 丁香五月婷婷在线观看| 久久九九99| 国产精品A片在线| www久久99|