Fixes and tweaks for configure.ac#3179
Merged
stevengj merged 6 commits intoNanoComp:masterfrom Apr 3, 2026
Merged
Conversation
|
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #3179 +/- ##
==========================================
+ Coverage 73.81% 73.87% +0.05%
==========================================
Files 18 18
Lines 5423 5458 +35
==========================================
+ Hits 4003 4032 +29
- Misses 1420 1426 +6 🚀 New features to boost your workflow:
|
stevengj
reviewed
Mar 25, 2026
stevengj
reviewed
Mar 25, 2026
stevengj
reviewed
Mar 25, 2026
| AC_CHECK_LIB(m, sin) | ||
|
|
||
| # FFTW3 is preferred; FFTW2 (dfftw/fftw) is also supported by Meep | ||
| # (see src/monitor.cpp and src/casimir.cpp for FFTW2 code paths). |
Collaborator
There was a problem hiding this comment.
I think we can probably just delete FFTW2 support at this point.
stevengj
reviewed
Mar 25, 2026
stevengj
reviewed
Apr 3, 2026
stevengj
approved these changes
Apr 3, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
1: Upgrade minimum C++ standard from C++11 to C++17
Line 103:
AX_CXX_COMPILE_STDCXX([11], [], [optiona])C++11 is very old. The
[optional]flag means compilation proceeds even without C++11 support. Given Meep is actively developed with modern C++ features, this should be at least C++14 or C++17 and[mandatory]. Note: the [mandatory] option indicates that C++17 is a minimum baseline rather than a strict version lock.2: Duplicate
AC_CHECK_LIB(m, ...)callsLines 150 and 233:
AC_CHECK_LIB(m, sin)andAC_CHECK_LIB([m],[cos])—libmis checked twice with different functions. The second check at line 233 is redundant since-lmis already in$LIBSfrom line 150. Remove one of them.3: Inconsistent--with-openmpvs.--enable-openmpsemanticsLine 139: Uses
--with-openmp(viaAC_ARG_WITH) but stores the result inenable_openmp=$enableval. The Autoconf convention is--enable-*for features and--with-*for external packages. OpenMP is a feature, so this should beAC_ARG_ENABLE(openmp, ...). The variable naming is also confusing — the argument iswith_openmpbut the assignment goes toenable_openmp, then line 140 checks$with_openmp:Line 139: stores
$enablevalinenable_openmpLine 140: but then checks
$with_openmpThis works by accident (since
$with_openmpis set byAC_ARG_WITH), butenable_openmpis never used.4: MPICH
SEEK_SETworkaround is obsoleteLines 77-99: The
MPICH_IGNORE_CXX_SEEKworkaround was for MPICH2 and very old MPI implementations. MPICH 3.x (released 2012) fixed this. Remove block and clean upsrc/fix_boundary_sources.cppandsrc/mympi.cpp.5: Obsolete Guile API checksLines 339-362: The checks for
SCM_SMOB_PREDICATE,SCM_SMOB_DATA,SCM_NEWSMOB, andscm_make_smob_typetest for APIs that have been standard since Guilde 1.8. These can be removed since Guile 2.0+ is a requirement.6: Document BLAS/LAPACK variables
Added comment explaining
$with_blas/$with_lapackare set by theAX_BLAS/AX_LAPACKm4 macros.7: Add
AC_CONFIG_AUX_DIRAdded
AC_CONFIG_AUX_DIR([build-aux]), createdbuild-aux/directory; auxiliary files (install-sh,config.guess, etc.) live there.8: Clarify FFTW detection
Added comment explaining FFTW2 fallback is intentional (code paths exist in
monitor.cppandcasimir.cpp).