Skip to content

Commit 4cf353b

Browse files
update README with build-related info
1 parent 69e6e53 commit 4cf353b

File tree

2 files changed

+54
-0
lines changed

2 files changed

+54
-0
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,3 @@
11
.idea
2+
.vscode
23
bin

README.md

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -145,3 +145,56 @@ auth_jwt_validate_email off;
145145
## Contributing
146146

147147
If you'd like to contribute to this repository, please first initiate the Git hooks by running `./.bin/init` (note the `.` before `bin`) -- this will ensure that tests are run before you push your changes.
148+
149+
### Environment Set-up for Visual Studio Code
150+
151+
1. Install the C/C++ extension from Microsoft.
152+
2. Add a C/C++ config file at `.vscode/c_cpp_properties.json` with the following (or similar) content:
153+
154+
```json
155+
{
156+
"configurations": [
157+
{
158+
"name": "Linux",
159+
"includePath": [
160+
"${workspaceFolder}/**",
161+
"~/Projects/third-party/nginx/objs/**",
162+
"~/Projects/third-party/nginx/src/**",
163+
"~/Projects/third-party/libjwt/include/**",
164+
"~/Projects/third-party/jansson/src/**"
165+
],
166+
"defines": [],
167+
"compilerPath": "/usr/bin/clang",
168+
"cStandard": "c17",
169+
"cppStandard": "c++14",
170+
"intelliSenseMode": "linux-clang-x64"
171+
}
172+
],
173+
"version": 4
174+
}
175+
```
176+
177+
Note the `includePath` additions above -- please update them as appropriate. Next we need to pull these sources.
178+
179+
#### Building NGINX
180+
181+
1. Download the NGINX release matching the version you're targeting.
182+
2. Extract the NGINX archive to wherever you'd like.
183+
3. Update the `includePath` entires shown above to match the ___location you chose.
184+
4. Enter the directory where you extracted NGINX and run: `./configure --with-compat`
185+
186+
### Cloning libjwt
187+
188+
1. Clone this repository as follows (replace `<target_dir>`): `git clone [email protected]:benmcollins/libjwt.git <target_dir>
189+
2. Enter the directory and switch to the latest tag: `git checkout $(git tag | sort -Vr | head -n 1)`
190+
3. Update the `includePath` entires shown above to match the ___location you chose.
191+
192+
### Cloning lobjansson
193+
194+
1. Clone this repository as follows (replace `<target_dir>`): `git clone [email protected]:akheron/jansson.git <target_dir>
195+
2. Enter the directory and switch to the latest tag: `git checkout $(git tag | sort -Vr | head -n 1)`
196+
3. Update the `includePath` entires shown above to match the ___location you chose.
197+
198+
### Verify Compliation
199+
200+
Once you save your changes to `.vscode/c_cpp_properties.json`, you should see that warnings and errors in the Problems panel go away, at least temprorarily. Hopfeully they don't come back, but if they do, make sure your include paths are set correctly.

0 commit comments

Comments
 (0)