Skip to content

Commit

Permalink
tmp: build C
Browse files Browse the repository at this point in the history
  • Loading branch information
ttytm committed Nov 11, 2024
1 parent 7a0182f commit 488ebdb
Show file tree
Hide file tree
Showing 2 changed files with 49 additions and 58 deletions.
61 changes: 3 additions & 58 deletions .github/workflows/windows.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,63 +6,8 @@ on:
jobs:
setup:
runs-on: windows-latest
defaults:
run:
shell: bash
steps:
- run: curl --version
- name: Setup V
run: |
curl -Lo v_windows.zip https://github.com/vlang/v/releases/latest/download/v_windows.zip
7z x v_windows.zip
mv v ~/v
~/v/v symlink
- run: v -showcc self && v doctor
- uses: actions/checkout@v4
with:
path: vibe
- name: Setup V module
run: |
mv vibe ~/.vmodules/vibe
# v ~/.vmodules/vibe/curl/build.vsh --silent
- name: Save cache
uses: actions/cache/save@v4
with:
path: |
~/v
~/.vmodules
key: ${{ runner.os }}-${{ github.sha }}

test:
needs: setup
runs-on: windows-latest
env:
VFLAGS: -cg -cc gcc
steps:
- name: Restore cache
uses: actions/cache/restore@v4
with:
path: |
~/v
~/.vmodules
key: ${{ runner.os }}-${{ github.sha }}
fail-on-cache-miss: true
- name: Setup V
run: ~/v/v symlink
# - run: ls ~/.vmodules/vibe/curl/libcurl/bin
# - run: |
# $env:PATH += ";C:%HOMEPATH%\.vmodules\vibe\curl\libcurl\bin"
# [System.Environment]::SetEnvironmentVariable("PATH", $env:PATH + ";C:%HOMEPATH%\.vmodules\vibe\curl\libcurl\bin", [System.EnvironmentVariableTarget]::Machine)
# [System.Environment]::GetEnvironmentVariable("PATH", [System.EnvironmentVariableTarget]::Machine)
- name: Run tests
# echo $HOME
# [System.Environment]::GetEnvironmentVariable("PATH", [System.EnvironmentVariableTarget]::Machine)
# v -stats test vibe
# set PATH=%PATH%;C:%HOMEPATH%\.vmodules\vibe\curl\libcurl\bin
# echo %PATH%
run: |
# $env:PATH += ";C:%HOMEPATH%\.vmodules\vibe\curl\libcurl\bin"
# [System.Environment]::SetEnvironmentVariable("PATH", $env:PATH + ";C:%HOMEPATH%\.vmodules\vibe\curl\libcurl\bin", [System.EnvironmentVariableTarget]::Machine)
# [System.Environment]::GetEnvironmentVariable("PATH", [System.EnvironmentVariableTarget]::Machine)
cd ~/.vmodules
v -stats test vibe/src/_tests_get_test.v
- run: curl https://httpbin.org --libcurl example.c
- run: gcc example.c -o example.exe && ./example.exe
# - run: gcc -o example example.c "libcurl-dyn/bin/libcurl-x64.dll" -Ilibcurl/include
46 changes: 46 additions & 0 deletions example.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
/********* Sample code generated by the curl command line tool **********
* All curl_easy_setopt() options are documented at:
* https://curl.se/libcurl/c/curl_easy_setopt.html
************************************************************************/
#include <curl/curl.h>

int main(int argc, char *argv[]) {
CURLcode ret;
CURL *hnd;

hnd = curl_easy_init();
curl_easy_setopt(hnd, CURLOPT_BUFFERSIZE, 102400L);
curl_easy_setopt(hnd, CURLOPT_URL, "https://httpbin.org");
curl_easy_setopt(hnd, CURLOPT_NOPROGRESS, 1L);
curl_easy_setopt(hnd, CURLOPT_USERAGENT, "curl/8.11.0");
curl_easy_setopt(hnd, CURLOPT_MAXREDIRS, 50L);
curl_easy_setopt(hnd, CURLOPT_HTTP_VERSION, (long)CURL_HTTP_VERSION_2TLS);
curl_easy_setopt(hnd, CURLOPT_FTP_SKIP_PASV_IP, 1L);
curl_easy_setopt(hnd, CURLOPT_TCP_KEEPALIVE, 1L);

/* Here is a list of options the curl code used that cannot get generated
as source easily. You may choose to either not use them or implement
them yourself.
CURLOPT_WRITEDATA was set to an object pointer
CURLOPT_INTERLEAVEDATA was set to an object pointer
CURLOPT_WRITEFUNCTION was set to a function pointer
CURLOPT_READDATA was set to an object pointer
CURLOPT_READFUNCTION was set to a function pointer
CURLOPT_SEEKDATA was set to an object pointer
CURLOPT_SEEKFUNCTION was set to a function pointer
CURLOPT_ERRORBUFFER was set to an object pointer
CURLOPT_STDERR was set to an object pointer
CURLOPT_HEADERFUNCTION was set to a function pointer
CURLOPT_HEADERDATA was set to an object pointer
*/

ret = curl_easy_perform(hnd);

curl_easy_cleanup(hnd);
hnd = NULL;

return (int)ret;
}
/**** End of sample code ****/

0 comments on commit 488ebdb

Please sign in to comment.