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

refactor: change in structure of stdlib in order to compiler it using fypp script #675

Open
wants to merge 17 commits into
base: master
Choose a base branch
from

Conversation

arteevraina
Copy link
Member

This Pull Request makes few structural changes in stdlib to make get it compiled using the compiler wrapper script here.

@jvdp1
Copy link
Member

jvdp1 commented Sep 6, 2022

To solve the issues, the following should be done:

  • In CMakeLists.txt: add "-I${PROJECT_SOURCE_DIR}/include" in the definition of the fyppFlags
  • In test/CMakeLists.txt: remove the lines:
list(
  APPEND fyppFlags
  "-I${PROJECT_SOURCE_DIR}/src"
)

@jvdp1
Copy link
Member

jvdp1 commented Sep 6, 2022

Did you also solve the issues with:

  • test_mean_f03.fypp
  • nmash.c
    ?

@arteevraina
Copy link
Member Author

Did you also solve the issues with:

* `test_mean_f03.fypp`

* `nmash.c`
  ?

For nmhash.c, I have fixed the issues. Will push it.
For test_mean_f03.fypp, Still having the same issue. I have not been able to resolve it. Still working on it.

CMakeLists.txt Outdated Show resolved Hide resolved
@arteevraina
Copy link
Member Author

@awvwgk @jvdp1

CMake build is failing since, it is not able to find test_always_fail.f90 & test_always_skip.f90 as I have deleted those files.

@awvwgk
Copy link
Member

awvwgk commented Sep 8, 2022

CMake build is failing since, it is not able to find test_always_fail.f90 & test_always_skip.f90 as I have deleted those files.

Than you also have to remove the declaration of the tests from the CMake build files.

test/stats/test_mean_f03.fypp Outdated Show resolved Hide resolved
@arteevraina arteevraina changed the title refactor: change in structure of stdlib in order to compiler it using … fypp script refactor: change in structure of stdlib in order to compiler it using fypp script Sep 9, 2022
@arteevraina
Copy link
Member Author

arteevraina commented Sep 9, 2022

I remember we moved the common.fypp file from src to include directory. But seems like fpm-deployment script was not updated to handle that.

@awvwgk @jvdp1

@arteevraina
Copy link
Member Author

I remember we moved the common.fypp file from src to include directory. But seems like fpm-deployment script was not updated to handle that.

@awvwgk @jvdp1

Should I change the include path of common.fypp in the .fypp files from which common.fypp not found error is coming in the fpm-deployment ?

cc: @awvwgk @jvdp1

@arteevraina arteevraina marked this pull request as ready for review September 9, 2022 16:31
@jvdp1
Copy link
Member

jvdp1 commented Sep 9, 2022

Should I change the include path of common.fypp in the .fypp files from which common.fypp not found error is coming in the fpm-deployment ?

No, I don't think so. Instead the variable fyflags in the fpm-deployement should be updated with the flag -I (similar to for the CMake files)
E.g., in my directory, I must adapt the fpm-deployment as follows:

...
fyflags="${fyglags} -I include"
...

auto-examples = false
auto-tests = true

[preprocess.cpp]
Copy link
Member

Choose a reason for hiding this comment

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

Should it be

Suggested change
[preprocess.cpp]
[preprocess.fypp]

?
As far as I remember, CPP is not used within stdlib.

Copy link
Member Author

Choose a reason for hiding this comment

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

Yes, that is not used. But, we have not enabled fypp inside fpm as of now. So, it cannot identity it as a valid preprocessor. Considering fypp-gfortran.py as a temporary solution, I think when we have fypp integrated inside fpm then I think we should rename it as fypp instead of cpp.

@jvdp1
Copy link
Member

jvdp1 commented Sep 11, 2022

To solve the issue with the Build-API-Docs, the directory include should be added/mentioned in the file API-doc-FORD-file.md (probably under the directive include:).

@arteevraina
Copy link
Member Author

Hi @jvdp1, I still seem to face some issues with docs ci. Can you help me in resolving this?

@zoziha
Copy link
Contributor

zoziha commented Sep 24, 2022

This should be related to the version update of FORD, see #673 .

@jvdp1
Copy link
Member

jvdp1 commented Sep 24, 2022

This should be related to the version update of FORD, see #673 .

@arteevraina Indeed it seems to be related to #673

@jvdp1
Copy link
Member

jvdp1 commented Sep 25, 2022

@arteevraina Could you rebase your PR such that @zoziha chnages (#681) are also integrated into this PR, please?
Hopefully this will solve the issue with the CI.

Comment on lines +12 to +14
"PROJECT_VERSION_MAJOR=0",
"PROJECT_VERSION_MINOR=1",
"PROJECT_VERSION_PATCH=0",
Copy link
Member

Choose a reason for hiding this comment

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

Should we support extracting those values automatically in fpm?

Copy link
Member Author

Choose a reason for hiding this comment

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

Yes, I think we should add support to extract them for the version number ?
I will take up this task.

Copy link
Member Author

Choose a reason for hiding this comment

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

PR created for this fortran-lang/fpm#766

Comment on lines +207 to +209
```sh
git clone https://github.com/fortran-lang/fpm.git
```
Copy link
Member

Choose a reason for hiding this comment

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

Why is that provided? IMO a link to fpm should be sufficient.

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.

None yet

4 participants