Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
43 commits
Select commit Hold shift + click to select a range
bc22950
trying windows arm build
joanibal Mar 12, 2026
1c11fdb
move gfortran flag into if statement
joanibal Mar 12, 2026
446342e
adjust ff flags
joanibal Mar 12, 2026
d750750
remove warnings so I can see the error
joanibal Mar 12, 2026
6dd8f50
add generic seconds subroutine
joanibal Mar 12, 2026
74ea9de
add command to see .data sizes
joanibal Mar 13, 2026
14861fc
reduce storage to near zero to test theory
joanibal Mar 13, 2026
20d3610
fix windows repair
joanibal Mar 13, 2026
0f8a8cc
try with more vortices
joanibal Mar 13, 2026
e983592
increase other constants
joanibal Mar 13, 2026
5033657
increase other constants again
joanibal Mar 13, 2026
9b0615b
print some info about the library during repair
joanibal Mar 13, 2026
103c0d0
try printing llvm-objdump again
joanibal Mar 13, 2026
e690d55
try printing llvm-objdump again x2
joanibal Mar 14, 2026
1ffeabb
try printing llvm-objdump again x3
joanibal Mar 14, 2026
a0c1ead
tweak sizes to determine max
joanibal Mar 18, 2026
7149d13
tweak sizes to determine max 2
joanibal Mar 18, 2026
c666be0
tweak sizes to determine max 3
joanibal Mar 18, 2026
dad4894
tweak sizes to determine max 4
joanibal Mar 18, 2026
1e65053
low data size again
joanibal Mar 20, 2026
9c0e59a
low data size again 2
joanibal Mar 20, 2026
4e2b662
low data size again 3
joanibal Mar 20, 2026
c07fd66
low data size again 4
joanibal Mar 25, 2026
23ac0c4
removed some unused data from ad seeds
joanibal Mar 25, 2026
3ab0277
add back in two variables
joanibal Mar 25, 2026
74eab7e
split surf geom variables into a different include
joanibal Mar 25, 2026
86e1eaa
try to get the build passing again
joanibal Mar 26, 2026
1aad6d2
add flang flag
joanibal Mar 26, 2026
aeef461
try to see if new flag is actually used
joanibal Mar 26, 2026
30f5164
try to reduce .data size further and increase airfoil data size
joanibal Mar 26, 2026
ee90274
restore all constants to prior size
joanibal Mar 26, 2026
989b9c7
half way
joanibal Mar 26, 2026
d4ee5de
ibx=75
joanibal Mar 26, 2026
978e4c4
ibx=100
joanibal Mar 26, 2026
9d29e49
ibx=200 and remove XLASEC, etc. with linking flag
joanibal Mar 27, 2026
de7d85c
fix link flag
joanibal Mar 27, 2026
629421f
try ibx=50 for the section data
joanibal Mar 27, 2026
c5449f4
try ibx=25 for the section data
joanibal Mar 27, 2026
48307e6
see if new aifoil organization will fit
joanibal Mar 27, 2026
e73618a
set 50 max for XASEC_DIFF, SASEC_DIFF variables
joanibal Mar 28, 2026
6eab0c2
reenable the tests
joanibal Mar 30, 2026
ca77a69
print more info from tests
joanibal Mar 30, 2026
431524d
try to learn more about the problem
joanibal Mar 31, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 28 additions & 0 deletions .github/windows_arm64_steps/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
name: Build Dependencies(Win-ARM64)
description: "Common setup steps for Win-ARM64 CI"
runs:
using: "composite"
steps:
- name: Install LLVM
shell: pwsh
run: |
Invoke-WebRequest https://github.com/llvm/llvm-project/releases/download/llvmorg-20.1.8/LLVM-20.1.8-woa64.exe -UseBasicParsing -OutFile LLVM-woa64.exe
$expectedHash = "7c4ac97eb2ae6b960ca5f9caf3ff6124c8d2a18cc07a7840a4d2ea15537bad8e"
$fileHash = (Get-FileHash -Path "LLVM-woa64.exe" -Algorithm SHA256).Hash
if ($fileHash -ne $expectedHash) {
Write-Error "Checksum verification failed. The downloaded file may be corrupted or tampered with."
exit 1
}
Start-Process -FilePath ".\LLVM-woa64.exe" -ArgumentList "/S" -Wait
echo "C:\Program Files\LLVM\bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append

- name: Install pkgconf via vcpkg
shell: pwsh
run: |
& "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvarsall.bat" arm64
$env:VCPKG_ROOT = "C:\vcpkg"
Set-Location $env:VCPKG_ROOT
./vcpkg install pkgconf:arm64-windows
$pkgconfPath = "$env:VCPKG_ROOT\installed\arm64-windows\tools\pkgconf"
Copy-Item "$pkgconfPath\pkgconf.exe" "$pkgconfPath\pkg-config.exe" -Force
echo "$pkgconfPath" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
78 changes: 39 additions & 39 deletions .github/workflows/docs.yml
Original file line number Diff line number Diff line change
@@ -1,46 +1,46 @@
name: MkDocs
# name: MkDocs

on:
push:
branches:
- main
pull_request:
branches:
- main
- dev
# on:
# push:
# branches:
# - main
# pull_request:
# branches:
# - main
# - dev

jobs:
deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout Repository
uses: actions/checkout@v2
# jobs:
# deploy:
# runs-on: ubuntu-latest
# steps:
# - name: Checkout Repository
# uses: actions/checkout@v2

- name: Set up Python
uses: actions/setup-python@v2
with:
python-version: '3.x'
# - name: Set up Python
# uses: actions/setup-python@v2
# with:
# python-version: '3.x'

- name: Install Dependencies
run: |
python -m pip install --upgrade pip
pip install mkdocs-material
pip install markdown
pip install pymdown-extensions
pip install Pygments
pip install mkdocstrings
pip install 'mkdocstrings[python]'
pip install mkdocs-gen-files
pip install mkdocs-literate-nav
pip install mkdocs-include-markdown-plugin
# - name: Install Dependencies
# run: |
# python -m pip install --upgrade pip
# pip install mkdocs-material
# pip install markdown
# pip install pymdown-extensions
# pip install Pygments
# pip install mkdocstrings
# pip install 'mkdocstrings[python]'
# pip install mkdocs-gen-files
# pip install mkdocs-literate-nav
# pip install mkdocs-include-markdown-plugin

- name: Test Build
run: |
# mkdocs build --strict # can't use strict mode because of some typ annotations
mkdocs build
# - name: Test Build
# run: |
# # mkdocs build --strict # can't use strict mode because of some typ annotations
# mkdocs build


- name: Build and Deploy
if: github.event_name == 'push'
run: |
mkdocs gh-deploy --force
# - name: Build and Deploy
# if: github.event_name == 'push'
# run: |
# mkdocs gh-deploy --force
27 changes: 21 additions & 6 deletions .github/workflows/wheels.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,14 +26,16 @@ jobs:
# - [macos-14, macosx, arm64, accelerate, "14.0"]

# working
- [windows-2025, win, AMD64]
- [ubuntu-22.04, manylinux, x86_64]
- [macos-14, macosx, arm64, openblas, "12.3"]
- [macos-15-intel, macosx, x86_64, openblas, "10.14"]
# - [windows-2025, win, AMD64]
# - [ubuntu-22.04, manylinux, x86_64]
# - [macos-14, macosx, arm64, openblas, "12.3"]
- [windows-11-arm, win, ARM64, "", ""]

# removed
# - [macos-15-intel, macosx, x86_64, openblas, "10.14"]

python: [["cp39", "3.9"], ["cp310", "3.10"], ["cp311", "3.11"], ["cp312", "3.12"], ["cp313", "3.13"]]
# python: [["cp312", "3.12"]]
# python: [["cp39", "3.9"], ["cp310", "3.10"], ["cp311", "3.11"], ["cp312", "3.12"], ["cp313", "3.13"]]
python: [["cp312", "3.12"]]



Expand All @@ -55,6 +57,19 @@ jobs:
if: ${{ runner.os == 'Windows' }}


- name: Set environment variables for ARM64
if: matrix.buildplat[1] == 'win' && matrix.buildplat[2] == 'ARM64'
run: |
echo "CC=clang-cl" >> $env:GITHUB_ENV
echo "CXX=clang-cl" >> $env:GITHUB_ENV
echo "FC=flang" >> $env:GITHUB_ENV
echo "TARGET_ARCH=${{ matrix.buildplat[2] }}" >> $env:GITHUB_ENV

- name: Set up Flang and pkgconf for ARM64
if: matrix.buildplat[1] == 'win' && matrix.buildplat[2] == 'ARM64'
uses: ./.github/windows_arm64_steps


- name: Setup macOS
if: startsWith( matrix.buildplat[0], 'macos-' )
run: |
Expand Down
4 changes: 3 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,9 @@ dev_make_install/optvl

tests/test_om_wrapper*_out
examples/run_opt_om*_out
examples/*.avl
examples/*.ps
examples/opt_output_sweep/
# ==============================================================================
# Github python gitignore template
# ==============================================================================
Expand Down Expand Up @@ -52,7 +55,6 @@ MANIFEST
src/ad_src/forward_tmp/
src/ad_src/reverse_tmp/
src/ad_src/preprocessed_files/
src/includes/AVL.INC
examples/*.html
examples/*.db
examples/reports
Expand Down
21 changes: 18 additions & 3 deletions meson.build
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@ project(
default_options: [
'buildtype=debugoptimized',
'c_std=c99',
'fortran_std=legacy',
],
)

Expand Down Expand Up @@ -111,13 +110,28 @@ ff_args = ff.get_supported_arguments(

ff_args += [
'-ffixed-line-length-80',
'-std=legacy',
'-fdefault-real-8',
'-fdefault-double-8',
'-fPIC',
'-O2'
]

if host_machine.system() != 'windows'
ff_args += ['-fPIC']
endif

# --- add flags for fortran standard ---
if ff.get_id() == 'gcc'
# -std=legacy is not supported by all Fortran compilers, but very useful with
# gfortran since it avoids a ton of warnings that we don't care about.
# Needs fixing in Meson, see https://github.com/mesonbuild/meson/issues/11633.
ff_args += ['-std=legacy']
elif ff.get_id() == 'llvm-flang'

ff_args += ['-fno-init-global-zero', '-ffixed-form', '-w']
link_args += ['-fno-init-global-zero']

endif

numpy_nodepr_api = '-DNPY_NO_DEPRECATED_API=NPY_1_9_API_VERSION'

cc_args = [numpy_nodepr_api]
Expand Down Expand Up @@ -179,4 +193,5 @@ py3.extension_module('libavl',

)


install_subdir('optvl', install_dir: py3.get_install_dir())
1 change: 1 addition & 0 deletions optvl/optvl_class.py
Original file line number Diff line number Diff line change
Expand Up @@ -286,6 +286,7 @@ def __init__(

# # get just the file name
avl_lib_so_file = os.path.basename(avl_lib_so_file)


self.avl = MExt.MExt("libavl", module_name, "optvl", lib_so_file=avl_lib_so_file, debug=debug)._module

Expand Down
7 changes: 6 additions & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ version = "2.4.0" # this automatically updates __init__.py and setup_deprecated.


[tool.cibuildwheel]
skip = "cp36-* cp37-* pp* *_ppc64le *_i686 *_s390x"
skip = "cp38-* pp* *_ppc64le *_i686 *_s390x"
build-verbosity = "3"
test-command = "bash {project}/tools/wheels/cibw_test_command.sh {project}"

Expand Down Expand Up @@ -62,6 +62,11 @@ select = "*-win_amd64"
# environment = { CMAKE_PREFIX_PATH="c:/opt/64" }
environment = { PKG_CONFIG_PATH="c:/opt/64/lib/pkgconfig" }

# pyproject.toml
[tool.cibuildwheel.config-settings]
setup-args = ["-Dbuildtype=debug"] # optional, but helps
compile-args = ["-v"] # this is the key one — makes ninja verbose

[project.urls]
homepage = "https://github.com/joanibal/OptVL"
# documentation =
Expand Down
Loading
Loading