Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cephes Updates #1704

Merged
merged 2 commits into from
Jan 12, 2024
Merged

Cephes Updates #1704

merged 2 commits into from
Jan 12, 2024

Conversation

varunagrawal
Copy link
Collaborator

  • Add Cephes README and License
  • Add dllexport for cross-platform extern support.

@varunagrawal varunagrawal self-assigned this Jan 3, 2024
@varunagrawal varunagrawal linked an issue Jan 3, 2024 that may be closed by this pull request
@ProfFan
Copy link
Collaborator

ProfFan commented Jan 10, 2024

Hi Varun, per the discussions in #1605 and (recent Windows-related issue), can we just make this header all inline? These symbols does not need to be exported if they are only used internally, and we save one extra dynamic library.

Copy link
Collaborator

@ProfFan ProfFan left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Some of the source files are licensed with the Boost license, for example, here:

/*
 * (C) Copyright John Maddock 2006.
 * Use, modification and distribution are subject to the
 * Boost Software License, Version 1.0. (See accompanying file
 *  LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 */

in igami.c that we are using. Could you add this to the LICENSE.txt?

@varunagrawal
Copy link
Collaborator Author

Some of the source files are licensed with the Boost license, for example, here:

/*
 * (C) Copyright John Maddock 2006.
 * Use, modification and distribution are subject to the
 * Boost Software License, Version 1.0. (See accompanying file
 *  LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
 */

in igami.c that we are using. Could you add this to the LICENSE.txt?

I think this is fine and doesn't need to be added to the LICENSE.txt file since the Boost license states that only the license header should be added to files using Boost code (which is already done). I'll go ahead and merge this PR.

@varunagrawal varunagrawal merged commit 3f32b0a into develop Jan 12, 2024
30 checks passed
@varunagrawal varunagrawal deleted the cephes-license branch January 12, 2024 21:36
@zzodo
Copy link
Contributor

zzodo commented Apr 22, 2024

I faced a problem with this dllexport.h when building my own c++ library along with system-installed GTSAM on default branch.

/usr/local/include/gtsam/3rdparty/cephes/cephes.h:4:10: fatal error: dllexport.h: No such file or directory
    4 | #include "dllexport.h"
      |          ^~~~~~~~~~~~~
compilation terminated.

This compilation error was fixed by adding dllexport.h to gtsam/3rdparty/cephes/CMakeLists.txt, but I am not sure this is what it should be.
@varunagrawal Can you confirm this?

EDIT:
e.g.

set(CEPHES_HEADER_FILES
    cephes.h
    cephes/dd_idefs.h
    cephes/dd_real.h
    cephes/dd_real_idefs.h
    cephes/expn.h
    cephes/igam.h
    cephes/lanczos.h
    cephes/mconf.h
    cephes/polevl.h
    cephes/sf_error.h
    dllexport.h) # add here

@ProfFan
Copy link
Collaborator

ProfFan commented Apr 24, 2024

@zzodo Could you put up a quick PR?

@zzodo
Copy link
Contributor

zzodo commented Apr 25, 2024

@ProfFan Sure, please check #1748.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Included cephes code should contain a provenance and license
4 participants