79 Commits

Author SHA1 Message Date
Esun Kim
15ff2bacc9 [Deps] Updated Abseil for cocoapod to 1.20250512.1 (#40252)
In order for gRPC podspecs to have the same version of Abseil as others.

Closes #40252

COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/40252 from veblush:absl-ios cf3c0c6baf8eb3e3dd088c49afdf9a47a8a00925
PiperOrigin-RevId: 785457782
2025-07-21 09:06:39 -07:00
Yash Tibrewal
2a5597f87f [deps] Update absl to 20250512.1 (#39571)
Update absl dependency to https://github.com/abseil/abseil-cpp/releases/tag/20250512.1

As part of this upgrade, remove gRPC's usage of internal absl helper functions.
A similar fix is needed for OpenCensus-Cpp, but since that repo is archived, I am choosing to add in a patch. The aim is to delete our OpenCensus plugin so that we don't have to maintain this forever as per https://github.com/grpc/proposal/pull/496.

Closes #39571

PiperOrigin-RevId: 777770232
2025-06-30 16:46:51 -07:00
Esun Kim
b98b101153 [Deps] Updated abseil to 20250127.1 (#38664)
Closes #38664

PiperOrigin-RevId: 755978662
2025-05-07 13:19:40 -07:00
Esun Kim
f122d24844 [Apple] Bump the minimum iOS to 15.0 & OSX to 11.0 (#38876)
This is aligned with
- https://github.com/google/oss-policies-info/blob/main/foundational-cxx-support-matrix.md
- Upcoming Protobuf v30 (9f1b38e8a1)

Closes #38876

PiperOrigin-RevId: 731889588
2025-02-27 15:33:34 -08:00
Hannah Shi
6e32a1ed76 [ObjC] Remove cronet transport support (#37756)
Proposal: https://github.com/grpc/proposal/pull/448

No results from `git grep -i cronet` any more.

Closes #37756

PiperOrigin-RevId: 731834542
2025-02-27 13:05:53 -08:00
Esun Kim
93b29607cc [C++] Transition to C++17 (#37919)
This bumps the minimum version of C++ to 17 from 14 per https://github.com/grpc/proposal/blob/master/L120-requiring-cpp17.md

Changes:
- Used C++17 instead of C++14 when building gRPC.
- Disabled `modernize-unary-static-assert` clang-tidy rule for the smooth transition. This rule will be re-enabled in a future update, along with a fix to address any identified issues.
- Added a post-install script for XCode/Cocoapod examples to enforce the use of C++17 across all projects, preventing build errors. (I'd like to have a better solution here but couldn't find it)

Closes #37919

PiperOrigin-RevId: 709073401
2024-12-23 08:53:24 -08:00
Hannah Shi
a5ed6fa832 [ObjC] Fix address sorting issue (#38215)
#38025 added address_sorting to src/core/lib/surface/init.cc, this PR add it to objc/swift build dependencies

Closes #38215

COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/38215 from HannahShiSFB:fix-address-sorting-issue 0e37cd98dc82644369ebc3c03feb4d71265807a1
PiperOrigin-RevId: 703184627
2024-12-05 11:26:00 -08:00
Esun Kim
260b41b9cd [Apple/Build] Bumped iOS to 11, OSX to 10.14, tvOS to 13.0 (#37931)
To prepare for the upcoming upgrade to C++17, the following changes were made:

Increased minimum supported operating system versions:
- iOS: 11 (previously 10)
- macOS: 10.14 (previously 10.12)
- tvOS: 13.0 (previously 12.0)

In addition to this, version requirements across different projects were updated to use these for consistency.

Closes #37931

PiperOrigin-RevId: 686519641
2024-10-16 08:39:21 -07:00
Esun Kim
1b11b92182 [Deps] Updated Abseil to 1.20240722.0 (#37543)
Closes #37543

PiperOrigin-RevId: 679738302
2024-09-27 14:56:58 -07:00
Hannah Shi
a0543d9328 [ObjC] Support visionos (#36476)
This should be able to unblock using grpc on vision os, will add tests later

Closes #36476

COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/36476 from HannahShiSFB:support-visionos edbde32d230560bbbb6cabfb21d90242cc40387d
PiperOrigin-RevId: 630173448
2024-05-02 14:09:56 -07:00
Hannah Shi
f6ee70289d [ObjC] Update abseil and boring ssl versions (#36356)
Update abseil and boring ssl versions

Closes #36356

COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/36356 from HannahShiSFB:update-pod-swift-dependencies dcf33c8824b128708fad064c7be32c1aba17f7ee
PiperOrigin-RevId: 626206584
2024-04-18 18:06:03 -07:00
Esun Kim
527557d03d [Deps] Upgrade abseil podsepc to 1.20240116.1 (#35893)
Closes #35893

COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/35893 from veblush:absl-osx e01dd83ee23fe0cc2ee0ded2232dc60b2f92a58d
PiperOrigin-RevId: 606780054
2024-02-13 16:19:15 -08:00
Esun Kim
714640d71f [Deps] Upgrade Abseil to 2024-01-16 (#35589)
Closes #35589

PiperOrigin-RevId: 601647295
2024-01-25 20:14:19 -08:00
Nick Cooke
f13a564e50 [CocoaPods] Re-work how privacy manifests are exposed (#35542)
<!--

If you know who should review your pull request, please assign it to that
person, otherwise the pull request would get assigned randomly.

If your pull request is for a specific language, please add the appropriate
lang label.

-->

Follow-up to add privacy manifests to #35042

- [x] Update podspec template files
- [x] Align on manifest update:
```
git grep mach_absolute_time
src/core/lib/gpr/posix/time.cc:static uint64_t g_time_start = mach_absolute_time();
src/core/lib/gpr/posix/time.cc:                ((double)(mach_absolute_time() - g_time_start)) * g_time_scale;
```

cc: @paulb777

Closes #35542

COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/35542 from ncooke3:nc/privacy-manifests b0e0e57d2ee7dd9ce8a4b15fd46f89da20d59a96
PiperOrigin-RevId: 600595032
2024-01-22 15:58:06 -08:00
Adam Cozzette
016ed921ce [deps] Upgrade protobuf version to v25.0 (#34513)
This commit upgrades gRPC to protobuf v25.0 and makes some fixes to
account for upb changes. One major change is that upb has been merged
into the protobuf repo, so we can now drop the separate `@upb`
dependency. Another is that `.upb.c` files no longer exist and there are
new `.upb_minitable.h` and `.upb_minitable.c` files. The longer
filenames exceeded a Windows restriction, so to work around that I
renamed the `upb-generated` directory to just `upb-gen`, and likewise
for `upbdefs-generated`.
2023-11-10 00:11:09 -08:00
Jan Tattermusch
3a2bd221ef [cmake] Cleanup and simplify the cmake build. (#34087)
Followup for https://github.com/grpc/grpc/pull/33803

More cmake cleanup. See commit descriptions for individual cleanup
items.
2023-08-17 20:26:40 +02:00
Jan Tattermusch
a8508ec465 [build metadata] Bazel to "other build systems" improvements (#33803)
- Extract build metadata for some external dependencies from bazel
build. This is achieved by letting extract_metadata_from_bazel_xml.py
analyze some external libraries and sources. The logic is basically the
same as for internal libraries, I only needed to teach
extract_metadata_from_bazel_xml.py which external libraries it is
allowed to analyze.
* currently, the list of source files is automatically determined for
`z`, `upb`, `re2` and `gtest` dependencies (at least for the case where
we're building in "embedded" mode - e.g. mostly native extensions for
python, php, ruby etc. - cmake has the ability to replace some of these
dependencies by actual cmake dependency.)
- Eliminate the need for manually written gen_build_yaml.py for some
dependencies.
- Make the info on target dependencies in build_autogenerated.yaml more
accurate and complete. Until now, there were some depdendencies that
were allowed to show up in build_autogenerated.yaml and some that were
being skipped. This made generating the CMakeLists.txt and Makefile
quite confusing (since some dependencies are being explicitly mentioned
and some had to be assumed by the build system).
- Overhaul the Makefile
* the Makefile is currently only used internally (e.g. for ruby and PHP
builds)
* until now, the makefile wasn't really using the info about which
targets depend on what libraries, but it was effectively hardcoding the
depedendency data (by magically "knowing" what is the list of all the
stuff that e.g. "grpc" depends on).
* After the overhaul, the Makefile.template now actually looks at the
library dependencies and uses them when generating the makefile. This
gives a more correct and easier to maintain makefile.
* since csharp is no longer on the master branch, remove all mentions of
"csharp" targets in the Makefile.

Other notable changes:
- make extract_metadata_from_bazel_xml.py capable of resolving workspace
bind() rules (so that it knows the real name of the target that is
referred to as e.g. `//external:xyz`)

TODO:
- [DONE] ~~pkgconfig C++ distribtest~~
- [DONE} ~~update third_party/README to reflect changes in how some deps
get updated now.~~


Planned followups:
- cleanup naming of some targets in build metadata and buildsystem
templates: libssl vs boringssl, ares vs cares etc.
- further cleanup of Makefile
- further cleanup of CMakeLists.txt
- remote the need from manually hardcoding extra metadata for targets in
build_autogenerated.yaml. Either add logic that determines the
properties of targets automatically, or use metadata from bazel BUILD.
2023-08-16 19:13:39 +02:00
Yijie Ma
e04128ad1d [Deps] Update abseil to 20230802 (#33974)
<!--

If you know who should review your pull request, please assign it to
that
person, otherwise the pull request would get assigned randomly.

If your pull request is for a specific language, please add the
appropriate
lang label.

-->
2023-08-11 15:29:24 -07:00
Hannah Shi
988c85535d [ObjC] Upgrade podspec xx.deployment_target (#33091)
Upgrade apple platform deployment_target versions to fix the cocoapods
push of BoringSSL-GRPC about the following error:
```
ld: file not found: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/arc/libarclite_macosx.a
clang: error: linker command failed with exit code 1 (use -v to see invocation)
```
ref: https://developer.apple.com/forums/thread/725300

This also aligns with the versions required by
[protobuf](https://github.com/protocolbuffers/protobuf/pull/10652)

```
ios.deployment_target = '10.0'
osx.deployment_target = '10.12'
tvos.deployment_target = '12.0'
watchos.deployment_target = '6.0'
```
2023-05-20 20:38:24 +00:00
Esun Kim
a3dae00f89 [Deps] Upgrade Protobuf to v23.1 (#33164)
Along with the required Abseil & upb upgrade.
2023-05-18 14:46:59 -07:00
Esun Kim
905df9dee6 Update Abseil to 20230125 (#32139)
* Update abseil to 1.20230125.0

* Fix IWYU
2023-01-30 16:20:24 -08:00
Esun Kim
1dc254c488 Podspec... (#32200) 2023-01-29 18:04:37 -08:00
Denny C. Dai
343cb0ecb9 Setting C++ lang dialect for objc cocoapod specs (#31071) 2022-09-20 13:59:17 -07:00
Esun Kim
dcf9612186 Upgrade Abseil to LTS 20220623.0 (#30155)
* Upgrade abseil to 20220623.0

* Fix subchannel include
2022-06-30 16:02:08 -07:00
Hannah Shi
1d94aa92d8 remove xxhash.h patch (#29440) 2022-05-05 15:34:49 -07:00
Esun Kim
461bb5e41f To LTS 20211102.0 (#27916) 2021-11-18 16:24:44 -08:00
Esun Kim
7db24ddd9a Upgrade abseil-pod to 1.20210324.2 (#27859) 2021-11-01 12:51:11 -07:00
Hannah Shi
5acc4c40a1 podfile cleanup (#27609) 2021-10-11 09:33:51 -07:00
Denny C. Dai
251274022c Revert "Revert "[objc] Turn on error exit in cocoapod pre-install (#27474)" (#27497)" (#27500)
This reverts commit 044253e5bd.
2021-09-29 14:12:28 -07:00
Denny C. Dai
044253e5bd Revert "[objc] Turn on error exit in cocoapod pre-install (#27474)" (#27497)
This reverts commit c3759da7cc.
2021-09-27 18:12:36 -07:00
Denny C. Dai
c3759da7cc [objc] Turn on error exit in cocoapod pre-install (#27474)
This enforces entire script to exit with error if any of the
pre-install command fails. The error exit marks the pod install
as failure and therefore prompting user's immediate attention.

Previoulsy pre-install script might siliently fail partially and
left corrupted cocoapod cahce which causes a number of build issues
during version upgrade
2021-09-27 15:15:16 -07:00
Esun Kim
37eecd3ce3 Updated Abseil to LTS 20210324.0 (#25835)
* Updated abseil-cpp to 20210324.0
* UBSAN with -fsanitize-link-c++-runtime
2021-03-30 09:22:05 -07:00
donnadionne
d3e97d953b Adding xxhash as a subtree (#25645) 2021-03-11 09:09:40 -08:00
donnadionne
34c8a1f87a Revert "Adding xxhash as a subtree" (#25630)
This reverts commit 3880393fea85eb5faa37d61f65fb9be3fa20b04a.
2021-03-05 09:11:48 +01:00
donnadionne
40bc4624c2 Adding xxhash as a subtree (#25601)
* Squashed 'third_party/xxhash/' content from commit aea11081f3

git-subtree-dir: third_party/xxhash
git-subtree-split: aea11081f349893ec26f86ada22c66e828885083

* Adding xxhash as a subtree
2021-03-04 16:00:51 -08:00
yulin-liang
b494be937e sed command from podspec fails on prepare_command step on linux 2021-01-26 13:29:30 -08:00
Esun Kim
631bf76de6 Update Abseil in podspecs 2021-01-19 15:43:33 -08:00
Esun Kim
9f2b5f697b Add upb change to podspec 2020-12-21 14:16:43 -08:00
Esun Kim
5b4344063e Upgrade Abseil to LTS 2020923.2 2020-10-23 13:22:38 -07:00
Esun Kim
ccf3cbc6b7 Bump iOS and OSX version 2020-09-30 14:58:30 -07:00
Jan Tattermusch
6d6339db34 fix non-bazel build systems 2020-08-20 18:17:21 +02:00
yulin-liang
c79097024a fix grpc-c++ build issue. 2020-07-29 15:07:28 -07:00
Donna Dionne
8dd0cb4712 Add support for xDS regex matchers. 2020-07-07 13:17:25 -07:00
Mark D. Roth
13e961f429 another attempt to fix ios build 2020-06-03 11:42:32 -07:00
Esun Kim
eae488fc66 Update abseil to get the recent patch on LTS 2020_20_25 2020-03-09 15:05:57 -07:00
Jan Tattermusch
41ac287f7b generate build metadata from bazel BUILD 2020-02-26 19:56:49 -05:00
Esun Kim
e9f41b7847 Update gRPC podspec to use Abseil 0.20200225 2020-02-26 12:37:05 -08:00
Muxi Yan
ef1a4b87a8 gRPC C++ podspec replace openssl with openssl_grpc 2020-02-25 13:27:42 -08:00
Esun Kim
4a68e396a2 Make transitive_deps as a topologically sorted list 2019-12-18 14:21:59 -08:00
Esun Kim
12c9f2e9d6 Make gRPC podspec template more robust 2019-12-15 15:51:41 -08:00